wiki/guides/ntfy/ntfy-einrichten.md

3.9 KiB

title description published date tags editor dateCreated
Einrichten von Ntfy in Docker Compose true 2024-02-10T22:50:01.152Z markdown 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.

Schritte

1. Docker Compose Datei erstellen

Erstellen Sie eine docker-compose.yml-Datei in Ihrem Projektverzeichnis. Hier ist ein einfaches Beispiel:

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/

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:

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:

docker logs -f <container_name>

Ersetzen Sie <container_name> 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/