For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /producao/index.md.

Producao

O ambiente de producao usa Podman, Caddy, Cloudflare e containers independentes para servicos auxiliares.

Dominios

gera-base.jvbgprojects.com.br
admin.jvbgprojects.com.br
ddl.jvbgprojects.com.br
json.jvbgprojects.com.br
sql.jvbgprojects.com.br
automacao.jvbgprojects.com.br
gerenciamento-container.jvbgprojects.com.br

Servicos

O Gera Base roda via podman compose e possui servico systemd de usuario:

systemctl --user status gera-base.service

Endpoints uteis para monitoramento:

https://gera-base.jvbgprojects.com.br/health
https://gera-base.jvbgprojects.com.br/ready

A API Litestar paralela pode ser testada com o profile migration na porta 8050.

Staging

Use um ambiente de homologacao separado para testar releases antes da producao. Recomenda-se:

  • projeto/compose separado, por exemplo gera-base-staging;
  • volumes MariaDB e backups proprios;
  • .env proprio, sem reaproveitar senhas de producao;
  • subdominios dedicados, como staging-gera-base.seudominio;
  • Cloudflare/Caddy apontando para portas ou containers de staging;
  • tokens de API separados para n8n e agentes.

Nao use o banco MariaDB de producao em staging.

Subida local de staging:

podman compose -f podman-compose.staging.yml up -d --build

Deploy e Rollback

Use os scripts de producao na VPS:

./scripts/production/deploy.sh
./scripts/production/rollback.sh HEAD~1

O deploy cria backup de templates e backup logico MariaDB antes de atualizar containers. O rollback tambem cria backup antes de voltar o codigo.

Antes do primeiro deploy, crie o arquivo .env a partir de .env.example e preencha as senhas reais no servidor. O .env nao deve ser versionado.

cp .env.example .env
nano .env

O Portainer e o Hibrido Home Office ficam independentes:

systemctl --user status portainer.service
systemctl --user status hibrido-home-office.service

O usuario admin precisa manter linger ativo:

loginctl show-user admin -p Linger

Resultado esperado:

Linger=yes