130 lines
No EOL
3.9 KiB
Markdown
130 lines
No EOL
3.9 KiB
Markdown
---
|
|
title: Einrichten von Ntfy in Docker Compose
|
|
description:
|
|
published: true
|
|
date: 2024-06-17T10:37:03.778Z
|
|
tags:
|
|
editor: markdown
|
|
dateCreated: 2024-06-17T10:37:01.476Z
|
|
---
|
|
|
|
# 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/ |