- .gitea/workflows/deploy.yml: push na main (paths do app/infra) ou
disparo manual -> SSH no host -> make deploy + health check /api/health
- Makefile: alvo `deploy` (git reset --hard + up-wedding com build), BRANCH=main
- CLAUDE.md: documenta o fluxo de deploy e o setup de secrets
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Single source of truth pro Claude Code (e devs humanos) sobre:
- Arquitetura (3 stacks Docker compartilhando infra-net)
- Stack técnica e rationale por escolha
- Estrutura completa de diretórios
- Roteamento, hostnames, hairpin DNS
- Comandos make (root + wedding)
- Convenções (env vars, IDs, camelCase, timestamps bigint, SQL puro)
- Fluxos importantes (upload single/multipart, HEIC transcoding,
login admin, bulk ops, backup, Gitea bootstrap, troca de senha)
- Gotchas conhecidos (Postgres init 1ª vez, docker exec -it com
heredoc, Gitea reserved names, imagem regular vs rootless,
TTL local em *.localhost, firewall em prod, ACME_EMAIL)
- Histórico de iterações (Cloudflare -> Docker Node -> Python)
- Onde olhar pra estender cada coisa
- Decisões deferidas com estimativa de esforço