docs: documentação única da stack — deploy/infra/projetos + regras (LEIA-PRIMEIRO)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Infra — Ambiente de desenvolvimento
|
||||
|
||||
> Situação: **como funciona o `dev.<projeto>` e por que dá para testar sem medo.**
|
||||
|
||||
- **`dev.<projeto>`** (ex.: `dev.scoreodonto.com`) roda na **VPS4**, servido por uma **imagem buildada** (nginx sobre `vite build`) — **NÃO é hot-reload (HMR)**. Editar o código **exige rebuild + recreate** do container para refletir.
|
||||
- (Os processos `vite --port 5173/5180` que rodam na VPS4 são de **outros apps**, ex.: o client do RX — não do scoreodonto.)
|
||||
- **Banco DEV isolado:** o backend de dev usa o container **`pgdev`** (PostGIS na VPS4), banco `<projeto>_dev` — **não toca o banco de produção** (VPS3). Pasta: `/home/deploy/stack/pg-dev/`.
|
||||
- `pg-dev-refresh.sh <projeto>` → repuxa dados da produção (somente leitura) para o `_ref` e recria o `_dev`.
|
||||
- `pg-dev-reset.sh <projeto>` → volta o `_dev` ao estado limpo em segundos.
|
||||
- **Por que importa:** testar em dev (criar lixo, rodar migração arriscada) tem **zero impacto** na produção. A produção nunca é alterada por dev.
|
||||
- Em dev a versão exibida é **`dev`** (ver `../deploy/versionamento.md`).
|
||||
|
||||
⚠️ **Atenção:** `vite build` **não bloqueia por erro de tipo** (TypeScript) — um erro de tipo pode passar no build e só estourar em runtime. Sempre exercite a tela que mudou antes de promover.
|
||||
@@ -0,0 +1,16 @@
|
||||
# Infra — Máquinas e rede
|
||||
|
||||
> Situação: **quem é cada servidor e como se conectam.**
|
||||
|
||||
Rede privada **WireGuard** `10.99.0.0/24`.
|
||||
|
||||
| VPS | IP | Papel | Docker |
|
||||
|---|---|---|---|
|
||||
| VPS1 | 10.99.0.1 | **Produção** (Traefik/TLS + apps) | rootless |
|
||||
| VPS3 | 10.99.0.3 | **Dados & Controle**: PostgreSQL, Gitea, Registry, Dragonfly, NATS, Temporal | — |
|
||||
| VPS4 | 10.99.0.4 | **Dev + Builder** (código, runner do CI, banco `pgdev`) | rootless |
|
||||
|
||||
- **Código (fonte da verdade):** Gitea na VPS3.
|
||||
- **Registry de imagens:** Container Registry embutido do Gitea — `git.clube67.com`, namespace `ruicesar/`. Não há `registry:2` separado.
|
||||
- **Roteamento:** Traefik (VPS1) termina TLS e roteia por host: `<projeto>` → containers de produção locais; `dev.<projeto>` → `10.99.0.4:<porta>` (VPS4) via WireGuard.
|
||||
- **Produção é rootless:** comandos `docker` na VPS1 usam `DOCKER_HOST=unix:///run/user/1000/docker.sock`.
|
||||
Reference in New Issue
Block a user