Guia de Instalação
O aplicativo pode ser implantado usando Docker, Portainer Stacks, ou Podman. Após a instalação, você pode querer configurar o TIMEZONE, conforme descrito em Configurar Fuso horário e precisa configurar os servidores Duplicati para enviar logs de backup para duplistatus, conforme descrito na seção Configuração do Duplicati.
Pré-requisitos
Certifique-se de que você tem o seguinte instalado:
- Docker Engine - Guia de instalação para Debian
- Docker Compose - Guia de instalação para Linux
- Portainer (opcional) - Guia de instalação para Docker
- Podman (opcional) - Guia de instalação
Autenticação
duplistatus desde a versão 0.9.x requer autenticação de usuário. Uma conta admin padrão é criada automaticamente ao instalar a aplicação pela primeira vez ou ao atualizar de uma versão anterior:
- nome de usuário:
admin - senha:
Duplistatus09
Você pode criar contas de usuários adicionais em Configurações > Usuários após o primeiro login.
O sistema impõe um comprimento mínimo de senha e complexidade. Esses requisitos podem ser ajustados usando as variáveis de ambiente PWD_ENFORCE e PWD_MIN_LEN. Usar uma senha sem complexidade suficiente ou com comprimento curto pode comprometer a segurança. Use essas configurações com cuidado.
Imagens de Container
Você pode usar as imagens de:
- Docker Hub:
docker.io/wsjbr/duplistatus:latest - GitHub Container Registry:
ghcr.io/wsj-br/duplistatus:latest
Opção 1: Usando Docker Compose
Este é o método recomendado para implantações locais ou quando você deseja personalizar a configuração. Ele usa um arquivo docker compose para definir e executar o contêiner com todas as suas configurações.
# 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
Verifique a seção Fuso Horário para mais detalhes sobre como ajustar o fuso horário e o formato de número/data/hora.
Opção 2: Usando Portainer Stacks (Docker Compose)
- Acesse "Stacks" no seu servidor Portainer e clique em "Adicionar stack".
- Nomeie sua stack (por exemplo, "duplistatus").
- Escolha "Build method" como "Web editor".
- Copie e cole isto no editor 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
- Verifique a seção Fuso Horário para mais detalhes sobre como ajustar o fuso horário e o formato de número/data/hora.
- Clique em "Implantar a pilha".
Opção 3: Usando Portainer Stacks (Repositório GitHub)
- No Portainer, vá para "Pilhas" e clique em "Adicionar pilha".
- Nomeie sua pilha (por exemplo, "duplistatus").
- Escolha "Método de construção" como "Repositório".
- Digite a URL do repositório:
https://github.com/wsj-br/duplistatus.git - No campo "Caminho do Compose", digite:
production.yml - (opcional) Defina as variáveis de ambiente
TZ,LANG,PWD_ENFORCEePWD_MIN_LENna seção "Variáveis de ambiente". Verifique a seção Fuso Horário para mais detalhes sobre como ajustar o fuso horário e o formato de número/data/hora. - Clique em "Implantar a pilha".
Opção 4: Usando 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
- O volume
duplistatus_dataé usado para armazenamento persistente. A imagem do container usaEurope/Londoncomo fuso horário padrão een_GBcomo idioma padrão.
Opção 5: Usando Podman (CLI) rootless
Para configurações básicas, você pode iniciar o container sem configuração de 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
Configurando DNS para Contêineres Podman
Se você precisar de configuração de DNS personalizada (por exemplo, para Tailscale MagicDNS, redes corporativas ou configurações de DNS personalizadas), você pode configurar manualmente servidores DNS e domínios de pesquisa.
Encontrando sua configuração de DNS:
-
Para sistemas systemd-resolved (a maioria das distribuições Linux modernas):
# Get DNS servers
resolvectl status | grep "DNS Servers:" | awk '{print "--dns " $3}'
# Get DNS search domains
resolvectl status | grep "DNS Domain:" | awk '{print "--dns-search " $3}' -
Para sistemas sem systemd ou como alternativa:
cat /run/systemd/resolve/resolv.conf 2>/dev/null || cat /etc/resolv.conf
Procure por linhas que começam com nameserver (para servidores DNS) e search (para domínios de pesquisa). Se você não tiver certeza sobre suas configurações de DNS ou domínios de pesquisa de rede, consulte seu administrador de rede para obter essas informações.
Exemplo com configuração de 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
Você pode especificar múltiplos servidores DNS adicionando múltiplos sinalizadores --dns:
--dns 8.8.8.8 --dns 1.1.1.1
Você pode especificar múltiplos domínios de pesquisa adicionando múltiplos sinalizadores --dns-search:
--dns-search example.com --dns-search internal.local
Nota: Pule endereços IPv6 (contendo :) e endereços localhost (como 127.0.0.53) ao configurar servidores DNS.
Verifique a seção Fuso Horário para mais detalhes sobre como ajustar o fuso horário e o formato de número/data/hora.
Opção 6: Usando Pods do Podman
Os pods do Podman permitem que você execute múltiplos contêineres em um namespace de rede compartilhado. Isso é útil para testes ou quando você precisa executar duplistatus junto com outros contêineres.
Configuração básica do pod:
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
Configurando DNS para Pods do Podman
Quando usar pods, a configuração de DNS deve ser definida no nível do pod, não no nível do container. Use os mesmos métodos descritos na Opção 5 para encontrar seus servidores DNS e domínios de pesquisa.
Exemplo com configuração de 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
Gerenciando o 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
Configuração Essencial
- Configure seus servidores Duplicati para enviar mensagens de log de backup para duplistatus (obrigatório).
- Entrar no duplistatus – veja as instruções no Guia do Usuário.
- Coletar logs de backup iniciais – use o recurso Coletar logs de backup para preencher o banco de dados com dados históricos de backup de todos os seus servidores Duplicati. Isso também atualiza automaticamente os intervalos de monitoramento de backup com base na configuração de cada servidor.
- Configurar configurações do servidor – configure aliases de servidor e notas em Configurações → Servidor para tornar seu painel mais informativo.
- Configurar configurações de NTFY – configure notificações via NTFY em Configurações → NTFY.
- Configurar configurações de e-mail – configure notificações por e-mail em Configurações → E-mail.
- Configurar notificações de backup – configure notificações por backup ou por servidor em Configurações → Notificações de backup.
Consulte as seções a seguir para configurar as configurações opcionais, como fuso horário, formato de números e HTTPS.