wiki/guides/ntfy/ntfy-einrichten.md

130 lines
No EOL
3.9 KiB
Markdown

---
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 <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/