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
| Elemento | Mecanismo |
|---|---|
| Docker | serviço systemd docker (ativado) |
| Contentores da aplicação | restart: 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 planeadas | cron do anfitrião |
| Workers Messenger | supervisord, no contentor backend |
Verificar:
systemctl is-enabled docker
docker ps --format '{{.Names}}\t{{.Status}}' | sort
Depois de um reinício do servidor
-
Esperar dois minutos (PostgreSQL primeiro, depois o backend, que espera pela base e executa as migrações).
-
Controlar o estado:
cd ~/pch-sigdocker compose -f docker-compose.prod.yml psdocker exec pch_backend curl -s http://127.0.0.1:8000/api/health -
Em produção, verificar que a replicação para o servidor de recuperação foi retomada (contentor
pch_pg_dr_proxyem execução). -
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
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.