Pular para o conteúdo principal

Deploy (Dokploy)

O FinWAY Docs é um site estático (Docusaurus). A publicação é feita pelo Dokploy, que builda a imagem a partir do Dockerfile e serve a pasta build/ via Nginx.

Arquitetura de deploy

  • GitHub Actions valida (npm run ci) e, em main, aciona o deploy (não builda o que vai ao ar).
  • Dokploy faz o build de produção (Dockerfile) e serve o estático. Domínio: https://finwaydocs.finaya.tech.

Parâmetros de build

ItemValor
Tipo de app no DokployDockerfile
Build command (dentro do Dockerfile)npm ci && npm run build
Output servidobuild//usr/share/nginx/html
Porta do container80
Domíniofinwaydocs.finaya.tech

O Dockerfile (multi-stage: node:20-alpinenginx:1.27-alpine) e o nginx.conf (sem fallback SPA; usa 404.html do Docusaurus) estão na raiz do repositório.

Variáveis / secrets necessários

OndeNomeConteúdo
GitHub → Settings → Secrets and variables → ActionsDOKPLOY_WEBHOOK_URLURL de deploy (webhook) do app no Dokploy. Nunca commitar; usada só via secret.

O workflow só aciona o deploy se o secret existir; caso contrário emite um warning e não falha. A URL não é logada (curl com -o /dev/null -w "%{http_code}").

Como configurar o Dokploy

  1. Criar um Application do tipo Dockerfile, conectado ao repo buildersbank/finway-api-guides, branch main.
  2. Confirmar que o Dockerfile e o nginx.conf da raiz são usados (porta 80).
  3. Em Domains, adicionar finwaydocs.finaya.tech (habilitar HTTPS/Let's Encrypt no proxy do Dokploy).
  4. Copiar a Deploy Webhook URL do app e cadastrá-la como secret DOKPLOY_WEBHOOK_URL no GitHub.
  5. (Alternativa) Em vez do webhook via Actions, é possível usar o auto-deploy nativo do Dokploy (integração GitHub que faz deploy a cada push em main). Se adotado, o passo de webhook do workflow é opcional. [escolher uma das duas abordagens]

Como configurar o DNS

TipoHostValor
CNAMEfinwaydocsapontamento definido pelo Dokploy/proxy/infra [TODO — confirmar com a infra]

Não há um valor "padrão" inventável: depende de onde o Dokploy/Traefik está exposto (host/IP do servidor ou hostname do proxy). Confirmar com quem opera o Dokploy. Se for IP fixo, pode ser um registro A em vez de CNAME.

Rollback

  • Pelo Dokploy: cada deploy gera uma versão/imagem; usar "Redeploy" de um deploy anterior (ou apontar para uma tag/commit anterior) na UI do Dokploy.
  • Pelo Git: reverter o commit em main (git revert) e fazer push → novo deploy com o estado anterior.

Validação pós-deploy

Acessar https://finwaydocs.finaya.tech e verificar:

  • Homepage com CSS/layout corretos (sem 404 de /assets/...) — valida baseUrl: '/' + domínio.
  • Console sem erros em /, /jornadas/pix, /api.
  • Mermaid renderiza em /jornadas/pix, /jornadas/autenticacao, /dominio/modelo-dominio, /arquitetura/visao-geral.
  • API Reference: SchemaTabs/MimeTabs, parâmetros, request/response e status codes (ex.: generate-o-auth-2-token).
  • Busca inline retorna resultados.
  • /<rota inexistente> retorna a 404 do Docusaurus (não a home).
  • /templates/... retorna 404 (não publicado).
  • sitemap.xml e canonical usam https://finwaydocs.finaya.tech.