4.3 KiB
Infraestrutura — VM e Recursos (013)
Status: 📋 Decisão futura — NÃO implementar hoje
Registado: 2026-06-10 (Roger)
Rever quando: iniciar Fase B/C da migração em produção ou primeiro PST > 10 GB
Resumo
| Pergunta | Resposta |
|---|---|
| Outra VM obrigatória hoje? | Não — MVP pode usar worker na VM122 existente |
| Outra VM recomendada em produção? | Sim — VM dedicada de migração (ex. VM123) |
| Pode correr na VM112 Carbonio? | Nunca — servidor de mail de produção |
O que fica onde
| VM / host | Função | Estado hoje |
|---|---|---|
VM122 ligbox-ops (8 GB) |
API, Desk, SQLite, fila, gate DNS | ✅ Existe |
| VM112 Carbonio | Destino IMAP / zmmailbox | ✅ Existe |
VM123 ligbox-migration (proposto) |
imapsync, readpst, imap-upload | 📋 Futuro |
Orquestração permanece na VM122. Execução pesada das ferramentas pode ser na VM122 (piloto) ou VM123 (produção).
Opção A — Worker na VM122 (piloto / MVP)
Quando usar: 1–3 mailboxes, PST < 10 GB, testes internos.
| Recurso | Valor | Notas |
|---|---|---|
| RAM | 8 GB (actual) | Máx. 1–2 jobs em paralelo |
| vCPU | 2–4 | imapsync é mais rede que CPU |
| Disco extra | +100 GB volume | PST + mbox temp + logs |
| Rede | LAN → VM112 + Internet → origem IMAP | Obrigatório |
Risco: carga de migração compete com API, Desk e Redis na mesma VM.
Decisão futura: adicionar volume Docker /data/migrations na VM122 só quando implementar Fase C (PST).
Opção B — VM dedicada migração (produção — recomendado)
Quando usar: várias migrações em paralelo, PST grandes, clientes reais.
| Recurso | Standard | Carga alta |
|---|---|---|
| Nome | ligbox-migration / VM123 |
— |
| RAM | 8 GB | 16 GB |
| vCPU | 4 | 8 |
| Disco | 200 GB SSD | 500 GB SSD |
| OS | Debian 12 | igual VM122 |
| IP LAN | 10.10.10.x (a definir) |
— |
| SSH WAN | Porta range 2501–2510 | como outras VMs |
| IP público | Não necessário | só LAN + NAT |
Não precisa: MX, DNS próprio, Traefik, Carbonio.
Consumo estimado por tipo de job
| Tipo | RAM (por job) | Disco temporário | Rede |
|---|---|---|---|
| imapsync (IMAP) | 200–500 MB | Logs 10–50 MB | Alta (GB/dia) |
| PST 10 GB | 1–2 GB | 20–30 GB (mbox) | Média |
| PST 50 GB | 2–4 GB | 100–150 GB (mbox) | Alta, horas/dias |
| TGZ Zimbra | Baixa | Tamanho do .tgz | SSH → VM112 |
Regra PST: reservar 2×–3× o tamanho do ficheiro .pst em disco livre.
Rede obrigatória (worker)
- Saída Internet → servidor origem (cPanel, O365, Gmail, etc.)
- LAN
10.10.10.0/24→ Carbonio VM112 (mail.dominio:993) - SSH VM112 (opcional) → import TGZ via
zmmailbox - Callback HTTP → API VM122 (
10.10.10.122) — progresso e gate
Software na VM worker
# scripts/install-migration-tools.sh
apt install imapsync pst-utils python3 git
git clone https://github.com/rgladwell/imap-upload.git /opt/migration-tools/imap-upload
Roadmap infra (futuro)
| Fase | Infra | Quando |
|---|---|---|
| Piloto | Worker na VM122 + volume 100 GB | 1ª implementação código (Fase A–B) |
| Produção | Provisionar VM123 4 vCPU / 8 GB / 200 GB | Primeira migração cliente real com PST |
| Escala | VM123 8 vCPU / 16 GB / 500 GB | Múltiplos jobs paralelos |
Proxmox — checklist futuro (VM123)
- Clone template Debian 12 ou criar VM nova
- RAM 8 GB, 4 vCPU, disco 200 GB em SSD
- Bridge
vmbr1/ LAN10.10.10.x - Regra DNAT SSH WAN (porta livre no range 2501–2510)
- Regra FORWARD no Proxmox (dentro
iface vmbr0) - Não alterar MX/DNS — worker não é servidor de mail
- Instalar
install-migration-tools.sh - Testar:
imapsync --justloginorigem + destino VM112
Decisão Roger (2026-06-10)
Guardar sizing de VM e recursos na spec para ver no futuro, não hoje.
Implementação de código (API/worker) pode começar na VM122; VM dedicada fica para quando houver carga real.