Pular para o conteúdo principal

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:

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.

IMPORTANTE

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)

  1. Acesse "Stacks" no seu servidor Portainer e clique em "Adicionar stack".
  2. Nomeie sua stack (por exemplo, "duplistatus").
  3. Escolha "Build method" como "Web editor".
  4. 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
  1. 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.
  2. Clique em "Implantar a pilha".

Opção 3: Usando Portainer Stacks (Repositório GitHub)

  1. No Portainer, vá para "Pilhas" e clique em "Adicionar pilha".
  2. Nomeie sua pilha (por exemplo, "duplistatus").
  3. Escolha "Método de construção" como "Repositório".
  4. Digite a URL do repositório: https://github.com/wsj-br/duplistatus.git
  5. No campo "Caminho do Compose", digite: production.yml
  6. (opcional) Defina as variáveis de ambiente TZ, LANG, PWD_ENFORCE e PWD_MIN_LEN na 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.
  7. 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 usa Europe/London como fuso horário padrão e en_GB como 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:

  1. 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}'
  2. 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

  1. Configure seus servidores Duplicati para enviar mensagens de log de backup para duplistatus (obrigatório).
  2. Entrar no duplistatus – veja as instruções no Guia do Usuário.
  3. 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.
  4. Configurar configurações do servidor – configure aliases de servidor e notas em Configurações → Servidor para tornar seu painel mais informativo.
  5. Configurar configurações de NTFY – configure notificações via NTFY em Configurações → NTFY.
  6. Configurar configurações de e-mail – configure notificações por e-mail em Configurações → E-mail.
  7. 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.