Files
Deploy-Automatico/docs/01-arquitetura-vps.md
T

25 lines
1.3 KiB
Markdown

# 01 — Arquitetura Multi-VPS
| Servidor | IP (VPN WireGuard) | Função principal | Papel no deploy |
|---|---|---|---|
| **VPS 1 — App** | `10.99.0.1` | Produção (containers Docker) | Recebe os arquivos da VPS 4 e roda os containers |
| **VPS 3 — Data/Git** | `10.99.0.3` | **Gitea** + PostgreSQL | Repositório central + banco |
| **VPS 4 — Builder** | `10.99.0.4` | Dev / build | Roda o listener e os scripts de deploy |
## Princípios
1. **A fonte de verdade é o Gitea (VPS3).** O deploy sempre faz `git reset --hard origin/main`
antes de buildar — nunca confia em arquivos soltos na VPS de build.
2. **Produção não recebe edição manual.** O `rsync --delete` sobrescreve tudo no próximo deploy.
3. **Docker rootless na VPS 1.** Sempre usar `DOCKER_HOST=unix:///run/user/1000/docker.sock`.
O daemon root fica desabilitado de propósito (ver `04-seguranca-deploy.md`).
4. **Comunicação entre VPS é pela VPN** (`10.99.0.x`), via chave SSH do usuário `deploy`.
```
[ VPS 4: Builder ] ──git push──► [ VPS 3: Gitea/DB ]
│ ▲
(rsync artefato/fonte) (git fetch/reset)
▼ │
[ VPS 1: Produção ] ◄───────────────────┘
```