You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.7 KiB
2.7 KiB
Migration Guide — Mailcow (MX & Domain)
Owner: cutover email geonet.co.id dari cPanel ke Mailcow.
Inventori: ../server.md. Env: ../../.env.example.
Prinsip: URL/domain dynamic via .env — bukan hardcode di script.
Status migrasi saat ini (2026-07-06)
| Fase | Status | Keterangan |
|---|---|---|
| Mailcow live | ✅ | VM 10.100.1.28, sync.geonet.co.id |
| POP3 drain | ✅ | fetchmail timer 2 menit, nokeep |
| Outbound relay | ✅ Transisi | cPanel SMTP :587 |
| MX DNS | ❌ | Masih cPanel |
| DKIM/SPF publish | ❌ | Key generated, belum DNS |
| fetchmail mati | ❌ | Setelah MX cutover |
Inventori sebelum cutover MX
| Item | Saat ini | Target | File update |
|---|---|---|---|
| MX record | cPanel | sync.geonet.co.id |
DNS panel |
| Inbox canonical | Mailcow (via POP3) | Mailcow (langsung) | — |
| SPF | cPanel IP | Mailcow 117.102.73.102 |
DNS |
| DKIM | — | Mailcow selector | DNS |
| PTR | TBD | sync.geonet.co.id |
Provider IP |
| fetchmail | aktif | stop | systemd disable |
| relay cPanel | aktif | opsional mati | Mailcow relayhosts |
Fase 1 — Transisi (saat ini)
- MX tetap cPanel
- fetchmail POP3 drain → Mailcow inbox
- User Outlook → IMAP
sync.geonet.co.id:993saja - Outbound relay cPanel sampai reputasi IP Mailcow OK
Verifikasi fetchmail:
ssh mailcow
systemctl status fetchmail-support.timer
tail -20 /var/log/fetchmail-support.log
Fase 2 — DNS email publish
- Ambil DKIM public key: Mailcow Admin → Configuration → DKIM
- Publish TXT DKIM di DNS
geonet.co.id - Update SPF:
v=spf1 ip4:117.102.73.102 include:... -all - Tambah DMARC (opsional):
_dmarc.geonet.co.id - PTR
117.102.73.102→sync.geonet.co.id - Smoke test: kirim ke Gmail, cek header SPF/DKIM pass
Append ../version.md setelah publish.
Fase 3 — MX cutover
- Stabil minimal 2–4 minggu (fetchmail + relay tanpa error)
- Turunkan TTL MX 24 jam sebelumnya
- Ubah MX →
sync.geonet.co.id(priority 10) - Monitor Postfix log Mailcow 24–48 jam
systemctl disable --now fetchmail-support.timer- Evaluasi matikan relay cPanel (kirim langsung dari Mailcow)
- Update docs: server.md, project-status.md, version.md
Rollback MX
- Kembalikan MX ke cPanel
- Enable fetchmail timer jika masih diperlukan
- Catat di ../issues.md
Riwayat migrasi
| Tanggal | Dari | Ke | Versi | Catatan |
|---|---|---|---|---|
| 2026-07-03 | — | POP3 drain live | 1.0.0 | fetchmail + relay |
| 2026-07-06 | — | Docs bootstrap | 1.1.0 | SSOT AI-Agent-Standards |