Pular para o conteúdo principal

Arranque Automático

Nos VPS Linux não há nada a programar: o Docker arranca com o sistema e relança os contentores conforme a sua política de reinício.

O que reinicia sozinho​

ElementoMecanismo
Dockerserviço systemd docker (ativado)
Contentores da aplicaçãorestart: always nos ficheiros compose
Relé SMTP (smtp_relay)restart: always (~/smtp-relay)
KoboToolbox, Survey Solutions, GitLab (pré-produção)políticas de reinício dos seus próprios compose
pch_pg_dr_proxy (produção)unless-stopped, contentor fora do compose
Tarefas planeadascron do anfitrião
Workers Messengersupervisord, no contentor backend

Verificar:

systemctl is-enabled docker
docker ps --format '{{.Names}}\t{{.Status}}' | sort

Depois de um reinício do servidor​

  1. Esperar dois minutos (PostgreSQL primeiro, depois o backend, que espera pela base e executa as migrações).

  2. Controlar o estado:

    cd ~/pch-sig
    docker compose -f docker-compose.prod.yml ps
    docker exec pch_backend curl -s http://127.0.0.1:8000/api/health
  3. Em produção, verificar que a replicação para o servidor de recuperação foi retomada (contentor pch_pg_dr_proxy em execução).

  4. Em pré-produção, o KoboToolbox demora vários minutos a responder (erro 502 entretanto); o GitLab cerca de dois minutos.

Relançar um serviço​

cd ~/pch-sig
docker compose -f docker-compose.prod.yml restart frontend
docker compose -f docker-compose.prod.yml up -d --no-deps backend # recria o backend (limpa a cache, repõe os direitos)
docker compose -f docker-compose.prod.yml up -d # volta a pôr em marcha tudo o que falta
perigo

Nunca docker compose up -d sem -f a partir de ~/pch-sig: isso arranca o esqueleto Symfony (compose.yaml) em vez da aplicação.

Alojamento antigo​

Os procedimentos Windows (Docker Toolbox, VirtualBox, netsh portproxy, tarefas planeadas Windows) já não se aplicam: a aplicação já não corre num servidor Windows.