====== Gotify ====== ===== Was ist das ===== Gotify ist ein einfacher, selbstgehosteter Dienst zum Versenden und Empfangen von Push-Benachrichtigungen. Es bietet eine Weboberfläche, eine Android-App und eine REST-API, womit es ideal ist, um Statusmeldungen von Servern, Skripten oder anderen Docker-Containern zentral zu sammeln. Er dient zur: * Zentralisierung von System-Benachrichtigungen. * Integration in CI/CD-Pipelines oder Monitoring-Tools (wie What's Up Docker). * Bereitstellung einer API für eigene Skripte zum Senden von Nachrichten. ===== Beispiel ===== services: gotify: image: docker.io/gotify/server:2.8.0 # Always pin specific version, never use 'latest' labels: - wud.tag.include=\d+\.\d+\.\d+$ # For What's Up Docker monitoring container_name: gotify hostname: gotify restart: unless-stopped healthcheck: test: 'curl -f http://localhost:80/health || exit 1' interval: 60s timeout: 5s retries: 3 start_period: 90s networks: - default # Use the main network volumes: - gotify_data:/app/data # Named volume for persistence environment: # Gotify Configuration GOTIFY_DEFAULTUSER_NAME: ${ADMIN_USER:-admin} GOTIFY_DEFAULTUSER_PASS: ${ADMIN_PASSWORD:-changeme} TZ: ${TZ:-Europe/Berlin} ports: - "${GOTIFY_SERVER_PORT:-8081}:80" volumes: gotify_data: ===== Erklärung ===== In dieser Konfiguration wird Gotify als Container betrieben: * **Port 8081:** Über diesen Port ist die Weboberfläche und die API erreichbar (Mapping auf den internen Port 80). * **Healthcheck:** Der Container prüft regelmäßig den `/health` Endpunkt, um sicherzustellen, dass der Dienst reagiert. * **Volumen (gotify_data):** Alle Daten (Benutzer, Nachrichten, App-Tokens) werden persistent unter `/app/data` gespeichert. * **Umgebungsvariablen:** Benutzername und Passwort für den Standard-Admin können über eine `.env`-Datei gesteuert werden. Die Integration in **What's Up Docker (WUD)** erfolgt über das Label, damit der Controller weiß, welche Versionen überwacht werden sollen.