Installationsanleitung
Die Anwendung kann mit Docker, Portainer Stacks oder Podman bereitgestellt werden. Nach der Installation sollten Sie die Zeitzone konfigurieren, wie unter Zeitzone konfigurieren beschrieben, und die Duplicati-Server so einrichten, dass sie Sicherungsprotokolle an duplistatus senden, wie im Abschnitt Duplicati-Konfiguration erläutert.
Voraussetzungen
Stellen Sie sicher, dass Folgendes installiert ist:
- Docker Engine - Installationsanleitung für Debian
- Docker Compose - Installationsanleitung für Linux
- Portainer (optional) - Installationsanleitung für Docker
- Podman (optional) - Installationsanleitung
Authentifizierung
duplistatus ab Version 0.9.x erfordert Benutzerauthentifizierung. Ein Standardkonto admin wird automatisch erstellt, wenn Sie die Anwendung zum ersten Mal installieren oder von einer früheren Version aktualisieren:
- Benutzername:
admin - Passwort:
Duplistatus09
Sie können nach dem ersten Login weitere Benutzerkonten in Einstellungen > Benutzer erstellen.
Administratoren können optional API-Schlüssel für Duplicati und Homepage verlangen und den Zugriff über IP-Zulassungslisten beschränken. Beides ist standardmäßig deaktiviert.
Das System erzwingt eine Mindestlänge und Komplexität für das Passwort. Diese Anforderungen können mit den Umgebungsvariablen PWD_ENFORCE und PWD_MIN_LEN angepasst werden (environment variables). Die Verwendung eines Passworts ohne ausreichende Komplexität oder mit einer kurzen Länge kann die Sicherheit beeinträchtigen. Bitte verwenden Sie diese Einstellungen sorgfältig.
Container-Images
Sie können die Images verwenden von:
- Docker Hub:
docker.io/wsjbr/duplistatus:latest - GitHub Container Registry:
ghcr.io/wsj-br/duplistatus:latest
Option 1: Verwendung von Docker Compose
Dies ist die empfohlene Methode für lokale Bereitstellungen oder wenn Sie die Konfiguration anpassen möchten. Es verwendet eine Datei docker compose, um den Container mit all seinen Einstellungen zu definieren und auszuführen.
# download the compose file
wget https://github.com/wsj-br/duplistatus/raw/refs/heads/master/production.yml -O duplistatus.yml
# start the container
docker compose -f duplistatus.yml up -d
Weitere Details zur Anpassung der Zeitzone und des Zahlen-/Datums-/Zeitformats finden Sie im Abschnitt Zeitzone.
Option 2: Verwendung von Portainer Stacks (Docker Compose)
- Gehen Sie zu "Stacks" auf Ihrem Portainer-Server und klicken Sie auf "Add stack".
- Benennen Sie Ihren Stack (z. B. "duplistatus").
- Wählen Sie als "Build method" "Web editor".
- Kopieren Sie diesen Inhalt in den Web-Editor:
# duplistatus production compose.yml
services:
duplistatus:
image: ghcr.io/wsj-br/duplistatus:latest
container_name: duplistatus
restart: unless-stopped
environment:
- TZ=Europe/London
- PWD_ENFORCE=true
- PWD_MIN_LEN=8
ports:
- "9666:9666"
volumes:
- duplistatus_data:/app/data
networks:
- duplistatus_network
networks:
duplistatus_network:
driver: bridge
volumes:
duplistatus_data:
name: duplistatus_data
- Weitere Details zur Anpassung der Zeitzone und des Zahlen-/Datums-/Zeitformats finden Sie im Abschnitt Zeitzone.
- Klicken Sie auf "Deploy the stack".
Option 3: Verwendung von Portainer Stacks (GitHub-Repository)
- Gehen Sie in Portainer zu "Stacks" und klicken Sie auf "Add stack".
- Benennen Sie Ihren Stack (z. B. "duplistatus").
- Wählen Sie als "Build method" "Repository".
- Geben Sie die Repository-URL ein:
https://github.com/wsj-br/duplistatus.git - Geben Sie im Feld „Compose-Pfad“ Folgendes ein:
production.yml - (optional) Legen Sie die Umgebungsvariablen
TZ,LANG,PWD_ENFORCEundPWD_MIN_LENim Abschnitt „Umgebungsvariablen“ fest. Prüfen Sie den Abschnitt Zeitzone, um weitere Details zur Anpassung der Zeitzone sowie des Zahlen-/Datum-/Zeitformats zu erhalten. - Klicken Sie auf „Stack bereitstellen“.
Option 4: Verwendung von Docker CLI
# Create the volume
docker volume create duplistatus_data
# Start the container
docker run -d \
--name duplistatus \
-p 9666:9666 \
-e TZ=Europe/London \
-e LANG=en_GB \
-v duplistatus_data:/app/data \
ghcr.io/wsj-br/duplistatus:latest
- Das Volume
duplistatus_datawird für den persistenten Speicher verwendet. Das Containerimage verwendetEurope/Londonals Standard-Zeitzone unden_GBals Standardsprache (Locale).
Option 5: Verwendung von Podman (CLI) rootless
Für grundlegende Einrichtungen können Sie den Container ohne DNS-Konfiguration starten:
mkdir -p ~/duplistatus_data
# Start the container (standalone)
podman run -d \
--name duplistatus \
--userns=keep-id \
-e TZ=Europe/London \
-e LANG=en_GB \
-p 9666:9666 \
-v ~/duplistatus_data:/app/data \
ghcr.io/wsj-br/duplistatus:latest
Konfigurieren von DNS für Podman-Container
Wenn Sie eine benutzerdefinierte DNS-Konfiguration benötigen (z. B. für Tailscale MagicDNS, Firmennetzwerke oder individuelle DNS-Einrichtungen), können Sie DNS-Server und Suchdomänen manuell konfigurieren.
Ihre DNS-Konfiguration finden:
-
Für systemd-resolved-Systeme (die meisten modernen Linux-Distributionen):
# Get DNS serversresolvectl status | grep "DNS Servers:" | awk '{print "--dns " $3}'# Get DNS search domainsresolvectl status | grep "DNS Domain:" | awk '{print "--dns-search " $3}' -
Für Nicht-systemd-Systeme oder als Fallback:
cat /run/systemd/resolve/resolv.conf 2>/dev/null || cat /etc/resolv.conf
Suchen Sie nach Zeilen, die mit nameserver beginnen (für DNS-Server) und search (für Suchdomänen). Falls Sie unsicher sind, welche DNS-Einstellungen oder Netzwerk-Suchdomänen vorliegen, wenden Sie sich an Ihren Netzwerkadministrator, um diese Informationen zu erhalten.
Beispiel mit DNS-Konfiguration:
mkdir -p ~/duplistatus_data
# Start the container with DNS configuration
podman run -d \
--name duplistatus \
--userns=keep-id \
--dns 100.100.100.100 \
--dns-search example.com \
-e TZ=Europe/London \
-e LANG=en_GB \
-p 9666:9666 \
-v ~/duplistatus_data:/app/data \
ghcr.io/wsj-br/duplistatus:latest
Sie können mehrere DNS-Server angeben, indem Sie mehrere --dns-Flags hinzufügen:
--dns 8.8.8.8 --dns 1.1.1.1
Sie können mehrere Suchdomänen angeben, indem Sie mehrere --dns-search-Flags hinzufügen:
--dns-search example.com --dns-search internal.local
Hinweis: Überspringen Sie IPv6-Adressen (mit :) und Localhost-Adressen (wie 127.0.0.53), wenn Sie DNS-Server konfigurieren.
Prüfen Sie den Abschnitt Zeitzone, um weitere Details zur Anpassung der Zeitzone sowie des Zahlen-/Datum-/Zeitformats zu erhalten.
Option 6: Verwendung von Podman-Pods
Mit Podman-Pods können Sie mehrere Container in einem gemeinsamen Netzwerk-Namespace ausführen. Dies ist nützlich zum Testen oder wenn Sie duplistatus zusammen mit anderen Containern betreiben müssen.
Grundlegende Pod-Einrichtung:
mkdir -p ~/duplistatus_data
# Create the pod
podman pod create --name duplistatus-pod --publish 9666:9666/tcp
# Create the container in the pod
podman create --name duplistatus \
--pod duplistatus-pod \
--user root \
-e TZ=Europe/London \
-e LANG=en_GB \
-v ~/duplistatus_data:/app/data \
ghcr.io/wsj-br/duplistatus:latest
# Start the pod
podman pod start duplistatus-pod
Konfigurieren von DNS für Podman-Pods
Bei Verwendung von Pods muss die DNS-Konfiguration auf Pod-Ebene und nicht auf Containerebene festgelegt werden. Verwenden Sie dieselben Methoden wie in Option 5 beschrieben, um Ihre DNS-Server und Suchdomänen zu finden.
Beispiel mit DNS-Konfiguration:
mkdir -p ~/duplistatus_data
# Create the pod with DNS configuration
podman pod create --name duplistatus-pod \
--publish 9666:9666/tcp \
--dns 100.100.100.100 \
--dns-search example.com
# Create the container in the pod
podman create --name duplistatus \
--pod duplistatus-pod \
--user root \
-e TZ=Europe/London \
-e LANG=en_GB \
-v ~/duplistatus_data:/app/data \
ghcr.io/wsj-br/duplistatus:latest
# Start the pod
podman pod start duplistatus-pod
Verwaltung des Pods:
# Stop the pod (stops all containers in the pod)
podman pod stop duplistatus-pod
# Start the pod
podman pod start duplistatus-pod
# Remove the pod and all containers
podman pod rm -f duplistatus-pod
Wesentliche Konfiguration
- Konfigurieren Sie Ihre Duplicati-Server, sodass sie Sicherungsprotokollnachrichten an duplistatus senden (erforderlich). Verwenden Sie in Duplicati 2.0.9.106 und später
--send-http-json-urls, wie in diesem Leitfaden beschrieben. - Melden Sie sich bei duplistatus an – siehe Anweisungen im Benutzerhandbuch.
- Sammeln Sie erste Sicherungsprotokolle – verwenden Sie die Funktion Sicherungsprotokolle sammeln, um die Datenbank mit historischen Sicherungsdaten von all Ihren Duplicati-Servern zu füllen. Dadurch werden auch automatisch die Intervalle für die Backup-Überwachung basierend auf der Konfiguration jedes Servers aktualisiert.
- Konfigurieren Sie Servereinstellungen – richten Sie Server-Aliase und Notizen unter Einstellungen → Server ein, um Ihr Dashboard informativer zu gestalten.
- Konfigurieren Sie NTFY-Einstellungen – richten Sie Benachrichtigungen über NTFY unter Einstellungen → NTFY ein.
- Konfigurieren Sie E-Mail-Einstellungen – richten Sie E-Mail-Benachrichtigungen unter Einstellungen → E-Mail ein.
- Konfigurieren Sie Backup-Benachrichtigungen – richten Sie pro-Sicherung oder pro-Server-Benachrichtigungen unter Einstellungen → Backup-Benachrichtigungen ein.
Weitere Informationen zum Konfigurieren optionaler Einstellungen wie Zeitzone, Zahlenformat und Sicherheitskonfiguration finden Sie in den folgenden Abschnitten.