Pular para conteúdo

Infraestrutura

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-30

Aplica-se a: todo perfil.

Como as peças da infraestrutura da X-Adm se encaixam. O detalhe de cada uma está nas páginas desta seção.

flowchart TD
    DEV[Dev] -- "push / tag" --> FG[Forgejo<br/>git origin]
    FG -- push-mirror --> GH[pipeline.yml]
    GH -- "build: imagem" --> REG[(Registry<br/>fonte.xadm.biz)]
    GH -- "deploy: POST /api/ci/deploy" --> CB[central-backend<br/>control-plane]
    CB -- "API do Coolify" --> CO[Coolify]
    CO -- "pull da imagem" --> REG
    CO --> APP[Containers dos apps]
    TR[Traefik<br/>HTTPS] --> APP
    APP --> PG[(PostgreSQL<br/>compartilhado)]
    APP --> GA[(Garage S3)]
    APP -- erros --> GT[GlitchTip]
    GH -- "docs: publica" --> GA
Peça Papel Onde
GitHub Actions CI/CD: gate, build das imagens off-host, disparo do deploy, smoke CI, gates e testes
Forgejo git origin, push-mirror para o GitHub, edição web, registro de pacotes e de imagens, Release de artefato Forgejo
central-backend control-plane de deploy: resolve o recurso e dispara o Coolify Deploy
Coolify PaaS self-hosted: puxa a imagem e roda os containers Operação no Coolify
Traefik proxy reverso do Coolify: HTTPS com Let's Encrypt Operação no Coolify
xadm-dns CoreDNS de cada host: resolve os domínios do host para o Traefik local, na chamada de app para app Operação no Coolify
PostgreSQL banco compartilhado entre apps (000-compartilhado) Operação no Coolify
Garage object storage S3-compatível (arquivo-api.xadm.biz) e o bucket das docs Garage
GlitchTip rastreamento de erros (bug.xadm.biz) Central de Apps
Aptabase/ClickHouse telemetria de apps Central de Apps

Padrões validados em produção — não 'corrigir'

  1. Não declarar networks: explícito no docker-compose — o Coolify gerencia a rede.
  2. O entrypoint do Traefik é https (não websecure, o nome da doc oficial do Traefik).
  3. A variável de commit é XADM_COMMIT (não COMMIT_SHA, e não SOURCE_COMMIT — esse nome é do Coolify, que o sobrescreve com HEAD em runtime; coolify).