--- title: Einrichten von Ntfy in Docker Compose description: published: true date: 2024-02-10T22:50:01.152Z tags: editor: markdown dateCreated: 2024-02-10T22:50:01.152Z --- # Einrichten von Ntfy in Docker Compose Ntfy ist ein Befehlszeilenwerkzeug, das Benachrichtigungen über den Abschluss von Befehlen oder anderen Ereignissen auf dem System sendet. Mit ntfy können Benutzer über verschiedene Kanäle wie Slack, Telegram oder den Systembenachrichtigungsmechanismus informiert werden, sobald ein bestimmter Befehl abgeschlossen ist, um den Status von Prozessen oder Automatisierungsaufgaben besser zu überwachen. ## Voraussetzungen Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind. - Docker Installation: [Docker Installationsanleitung](https://docs.docker.com/get-docker/) - Docker Compose Installation: [Docker Compose Installationsanleitung](https://docs.docker.com/compose/install/) - Nginx Reverse Proxy Installation ## Schritte ### 1. Docker Compose Datei erstellen Erstellen Sie eine `docker-compose.yml`-Datei in Ihrem Projektverzeichnis. Hier ist ein einfaches Beispiel: ```yaml version: "2.3" services: ntfy: image: binwiederhier/ntfy container_name: ntfy command: - serve environment: - TZ=Europe/Berlin # optional: set desired timezone - VIRTUAL_HOST=ntfy.${DOMAIN} - VIRTUAL_PORT=80 - LETSENCRYPT_HOST=ntfy.${DOMAIN} - LETSENCRYPT_EMAIL=admin@${DOMAIN} user: 1000:1000 # optional: replace with your own user/group or uid/gid volumes: - ./cache/ntfy:/var/cache/ntfy - ./ntfy:/etc/ntfy #ports: # - 80:80 healthcheck: # optional: remember to adapt the host:port to your environment test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"] interval: 60s timeout: 10s retries: 3 start_period: 40s restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" - flame.type=application - flame.name=Ntfy - flame.url=https://ntfy.${DOMAIN} - flame.icon=message-alert networks: default: proxy: edge-tier: dns: ipv4_address: 172.28.0.4 networks: proxy: name: nginx-proxy external: true edge-tier: name: edge external: true dns: name: dns external: true ``` *ntfy/server.yml/* ```yaml base-url: "https://ntfy.${DOMAIN}" cache-file: "/var/cache/ntfy/cache.db" attachment-cache-dir: "/var/cache/ntfy/attachments" auth-file: "/var/cache/ntfy/user.db" auth-default-access: "deny-all" upstream-base-url: "https://ntfy.sh" smtp-sender-addr: "mail.${DOMAIN}:587" smtp-sender-user: "ntfy@${DOMAIN}" smtp-sender-pass: "${SECRET}" smtp-sender-from: "ntfy@${DOMAIN}" # Tell ntfy to use "X-Forwarded-For" to identify visitors behind-proxy: true visitor-request-limit-burst: 1000 visitor-request-limit-replenish: 1s visitor-email-limit-burst: 1000 visitor-email-limit-replenish: 1s enable-metrics: true metrics-listen-http: "172.28.0.4:9090" ``` ### 2. Ntfy konfigurieren In der obenstehenden `docker-compose.yml` wird Watchtower konfiguriert, um alle 30 Sekunden nach Aktualisierungen zu suchen. Sie können das Intervall nach Bedarf anpassen. ### 3. Docker Compose ausführen Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um Docker Compose zu starten: ```bash docker-compose up -d ``` ### 4. Überwachen Sie die Aktualisierungen Watchtower wird nun automatisch nach Updates für Ihre Docker-Container suchen und diese aktualisieren. Sie können die Protokolle überwachen, um den Fortschritt zu überprüfen: ```bash docker logs -f ``` Ersetzen Sie `` durch den Namen Ihres Watchtower-Containers. ### Hinweis Stellen Sie sicher, dass Ihre Container mit einem `latest`-Tag oder einer bestimmten Version getaggt sind, damit Watchtower weiß, welche Version heruntergeladen werden soll. # Quellen https://docs.ntfy.sh/