2.6 KiB
2.6 KiB
Alteracoes de producao - 2025-12-18
Este documento registra as mudancas aplicadas na VPS para estabilizar o ambiente e padronizar o uso do PostgreSQL 18.
Resumo
- Migracao do banco principal do sistema para o servico
postgres18. - Desativacao do servico
postgres(pg16) no Swarm. - Convex backend fixado na tag
ghcr.io/get-convex/convex-backend:6690a911bced1e5e516eafc0409a7239fb6541bb. CONVEX_INTERNAL_URLajustado para o endpoint publico, evitando falhas de DNS interno (ENOTFOUND sistema_convex_backend).- Tratamento explicito para tokens revogados/expirados/invalidos nas rotas
/api/machines/*e chat. - Limpeza de documento legado no Convex (
liveChatSessionsidpd71bvfbxx7th3npdj519hcf3s7xbe2j).
Backups gerados
/root/pg-backups/sistema_chamados_pg16_20251218215925.dump/root/pg-backups/sistema_chamados_pg18_20251218215925.dump- Convex:
/var/lib/docker/volumes/sistema_convex_data/_data/db.sqlite3.backup-20251218165717 - Observacao: foi gerado um arquivo extra
db.sqlite3.backup-(sem timestamp) por comando incorreto.
Procedimento (principais comandos)
# 1) Backup dos bancos
docker exec -u postgres <pg16> pg_dump -Fc -d sistema_chamados -f /tmp/sistema_chamados_pg16_20251218215925.dump
docker exec -u postgres <pg18> pg_dump -Fc -d sistema_chamados -f /tmp/sistema_chamados_pg18_20251218215925.dump
# 2) Parar o web durante a migracao
docker service scale sistema_web=0
# 3) Restaurar dump do pg16 no pg18
docker exec -u postgres <pg18> psql -c "DROP DATABASE IF EXISTS sistema_chamados;"
docker exec -u postgres <pg18> psql -c "CREATE DATABASE sistema_chamados OWNER sistema;"
docker cp /root/pg-backups/sistema_chamados_pg16_20251218215925.dump <pg18>:/tmp/sistema_chamados_restore.dump
docker exec -u postgres <pg18> pg_restore -d sistema_chamados -Fc /tmp/sistema_chamados_restore.dump
# 4) Atualizar stack (com variaveis exportadas)
set -a; . /srv/apps/sistema/.env; set +a
docker stack deploy --with-registry-auth -c /srv/apps/sistema/stack.yml sistema
# 5) Desativar pg16
docker service scale postgres=0
Ajustes em stack.yml
DATABASE_URLapontando parapostgres18:5432.CONVEX_INTERNAL_URLapontando parahttps://convex.esdrasrenan.com.br.- Imagem do Convex ajustada para a tag acima.
Resultado
sistema_webvoltou com 2 replicas saudaveis.sistema_convex_backendrodando na tag informada.postgres(pg16) desativado no Swarm.- Healthcheck OK:
GET /api/healtheGET /version.
Observacoes operacionais
- O deploy do stack precisa de variaveis exportadas do
.env. Sem isso,NEXT_PUBLIC_*fica vazio e oPOSTGRES_PASSWORDnao e propagado, causandoP1000no Prisma.