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, emmain, 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
| Item | Valor |
|---|---|
| Tipo de app no Dokploy | Dockerfile |
| Build command (dentro do Dockerfile) | npm ci && npm run build |
| Output servido | build/ → /usr/share/nginx/html |
| Porta do container | 80 |
| Domínio | finwaydocs.finaya.tech |
O
Dockerfile(multi-stage:node:20-alpine→nginx:1.27-alpine) e onginx.conf(sem fallback SPA; usa404.htmldo Docusaurus) estão na raiz do repositório.
Variáveis / secrets necessários
| Onde | Nome | Conteúdo |
|---|---|---|
| GitHub → Settings → Secrets and variables → Actions | DOKPLOY_WEBHOOK_URL | URL 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
- Criar um Application do tipo Dockerfile, conectado ao repo
buildersbank/finway-api-guides, branchmain. - Confirmar que o Dockerfile e o
nginx.confda raiz são usados (porta80). - Em Domains, adicionar
finwaydocs.finaya.tech(habilitar HTTPS/Let's Encrypt no proxy do Dokploy). - Copiar a Deploy Webhook URL do app e cadastrá-la como secret
DOKPLOY_WEBHOOK_URLno GitHub. - (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
| Tipo | Host | Valor |
|---|---|---|
| CNAME | finwaydocs | apontamento 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/...) — validabaseUrl: '/'+ 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.xmlecanonicalusamhttps://finwaydocs.finaya.tech.