Guide d'installation
L'application peut être déployée à l'aide de Docker, Portainer Stacks, ou Podman. Après l'installation, vous souhaiterez peut-être configurer le TIMEZONE, comme décrit dans la section Configurer le fuseau horaire et vous devez configurer les serveurs Duplicati pour envoyer les journaux de sauvegarde à duplistatus, comme indiqué dans la section Configuration de Duplicati.
Prérequis
Assurez-vous que les éléments suivants sont installés :
- Docker Engine - Guide d'installation Debian
- Docker Compose - Guide d'installation Linux
- Portainer (facultatif) - Guide d'installation Docker
- Podman (facultatif) - Guide d'installation
Authentification
duplistatus à partir de la version 0.9.x nécessite une authentification utilisateur. Un compte admin par défaut est créé automatiquement lors de la première installation de l'application ou lors de la mise à niveau à partir d'une version antérieure :
- nom d'utilisateur :
admin - mot de passe :
Duplistatus09
Vous pouvez créer des comptes utilisateur supplémentaires dans Paramètres > Utilisateurs après la première connexion.
Les administrateurs peuvent également exiger facultativement des Clés API pour Duplicati et Homepage, et restreindre l'accès avec des listes blanches d'adresses IP. Les deux sont désactivés par défaut.
Le système applique une longueur minimale de mot de passe et une complexité. Ces exigences peuvent être ajustées à l'aide des variables d'environnement PWD_ENFORCE et PWD_MIN_LEN. L'utilisation d'un mot de passe sans complexité suffisante ou avec une longueur courte peut compromettre la sécurité. Veuillez utiliser ces paramètres avec prudence.
Images de conteneur
Vous pouvez utiliser les images de :
- Docker Hub :
docker.io/wsjbr/duplistatus:latest - GitHub Container Registry :
ghcr.io/wsj-br/duplistatus:latest
Option 1 : Utiliser Docker Compose
Ceci est la méthode recommandée pour les déploiements locaux ou lorsque vous souhaitez personnaliser la configuration. Elle utilise un fichier docker compose pour définir et exécuter le conteneur avec tous ses paramètres.
# 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
Consultez la section Fuseau horaire pour plus de détails sur la façon d'ajuster le fuseau horaire et le format des nombres/dates/heures.
Option 2 : Utiliser Portainer Stacks (Docker Compose)
- Allez dans « Stacks » sur votre serveur Portainer et cliquez sur « Ajouter une stack ».
- Nommez votre stack (par exemple, « duplistatus »).
- Choisissez « Build method » comme « Web editor ».
- Copiez et collez ceci dans l'éditeur web :
# 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
- Consultez la section Fuseau horaire pour plus de détails sur la façon d'ajuster le fuseau horaire et le format des nombres/dates/heures.
- Cliquez sur « Deploy the stack ».
Option 3 : Utiliser Portainer Stacks (Référentiel GitHub)
- Dans Portainer, allez dans « Stacks » et cliquez sur « Ajouter une stack ».
- Nommez votre stack (par exemple, « duplistatus »).
- Choisissez « Build method » comme « Repository ».
- Entrez l'URL du référentiel :
https://github.com/wsj-br/duplistatus.git - Dans le champ « Compose path », entrez :
production.yml - (facultatif) Définissez les variables d'environnement
TZ,LANG,PWD_ENFORCEetPWD_MIN_LENdans la section « Environment variables ». Vérifiez la section Timezone pour plus de détails sur la façon d'ajuster le fuseau horaire et le format des nombres/dates/heures. - Cliquez sur « Deploy the stack ».
Option 4 : Utilisation de 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
- Le volume
duplistatus_dataest utilisé pour le stockage persistant. L'image de conteneur utiliseEurope/Londoncomme fuseau horaire par défaut eten_GBcomme locale par défaut (langue).
Option 5 : Utilisation de Podman (CLI) rootless
Pour les configurations de base, vous pouvez démarrer le conteneur sans configuration DNS :
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
Configuration de DNS pour les conteneurs Podman
Si vous avez besoin d'une configuration DNS personnalisée (par exemple, pour Tailscale MagicDNS, les réseaux d'entreprise ou les configurations DNS personnalisées), vous pouvez configurer manuellement les serveurs DNS et les domaines de recherche.
Trouver votre configuration DNS :
-
Pour les systèmes systemd-resolved (la plupart des distributions Linux modernes) :
# Get DNS serversresolvectl status | grep "DNS Servers:" | awk '{print "--dns " $3}'# Get DNS search domainsresolvectl status | grep "DNS Domain:" | awk '{print "--dns-search " $3}' -
Pour les systèmes non-systemd ou en secours :
cat /run/systemd/resolve/resolv.conf 2>/dev/null || cat /etc/resolv.conf
Recherchez les lignes commençant par nameserver (pour les serveurs DNS) et search (pour les domaines de recherche). Si vous n'êtes pas sûr de vos paramètres DNS ou des domaines de recherche réseau, consultez votre administrateur réseau pour cette information.
Exemple avec configuration DNS :
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
Vous pouvez spécifier plusieurs serveurs DNS en ajoutant plusieurs drapeaux --dns :
--dns 8.8.8.8 --dns 1.1.1.1
Vous pouvez spécifier plusieurs domaines de recherche en ajoutant plusieurs drapeaux --dns-search :
--dns-search example.com --dns-search internal.local
Note : Ignorez les adresses IPv6 (contenant :) et les adresses localhost (comme 127.0.0.53) lors de la configuration des serveurs DNS.
Vérifiez la section Timezone pour plus de détails sur la façon d'ajuster le fuseau horaire et le format des nombres/dates/heures.
Option 6 : Utilisation de Podman Pods
Les pods Podman vous permettent d'exécuter plusieurs conteneurs dans un espace de noms réseau partagé. Ceci est utile pour les tests ou quand vous avez besoin d'exécuter duplistatus aux côtés d'autres conteneurs.
Configuration de pod de base :
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
Configuration de DNS pour les pods Podman
Lors de l'utilisation de pods, la configuration DNS doit être définie au niveau du pod, et non au niveau du conteneur. Utilisez les mêmes méthodes décrites dans l'option 5 pour trouver vos serveurs DNS et domaines de recherche.
Exemple avec configuration DNS :
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
Gestion du pod :
# 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
Configuration essentielle
- Configurez vos serveurs Duplicati pour envoyer les messages de journal de sauvegarde à duplistatus (requis). Sur Duplicati 2.0.9.106 et versions ultérieures, utilisez
--send-http-json-urlscomme décrit dans ce guide. - Connectez-vous à duplistatus – voir les instructions dans le Guide de l'utilisateur.
- Collectez les journaux de sauvegarde initiaux – utilisez la fonctionnalité Collecter les journaux de sauvegarde pour remplir la base de données avec les données de sauvegarde historiques de tous vos serveurs Duplicati. Cela met également à jour automatiquement les intervalles de surveillance des sauvegardes en fonction de la configuration de chaque serveur.
- Configurez les paramètres du serveur – configurez les alias de serveur et les notes dans Paramètres → Serveur pour rendre votre tableau de bord plus informatif.
- Configurez les paramètres NTFY – configurez les notifications via NTFY dans Paramètres → NTFY.
- Configurez les paramètres de messagerie – configurez les notifications par courriel dans Paramètres → E-mail.
- Configurez les notifications de sauvegarde – configurez les notifications par sauvegarde ou par serveur dans Paramètres → Notifications de sauvegarde.
Consultez les sections suivantes pour configurer les paramètres facultatifs tels que le fuseau horaire, le format de nombre et la configuration de sécurité.