5.9 KiB
Deployment & Sizing — Mailcow (jangka panjang)
Terakhir Diperbarui: 2026-07-03
Target: ~30+ user email aktif · hostnamesync.geonet.co.id· VM10.100.1.28
Keputusan storage: ✅ Local SSD VM (prioritas uptime) + backup QNAP harian
Linux atau Docker?
Keduanya — bukan pilihan salah satu.
| Lapisan | Teknologi | Keterangan |
|---|---|---|
| Host OS | Linux (VM) | Wajib — Debian 12 / Ubuntu 22.04 LTS / Alma 9 |
| Aplikasi mail | Docker Compose | Mailcow hanya didistribusikan sebagai mailcow-dockerized |
| Windows | ❌ | Tidak didukung sebagai host Mailcow |
| Install native tanpa Docker | ❌ | Tidak ada paket Mailcow untuk Linux biasa |
Alur install resmi:
Proxmox (.102) → VM Linux → Docker + Compose → git clone mailcow-dockerized → ./generate_config.sh → docker compose up -d
Kesimpulan: VM Linux dedicated yang menjalankan stack Docker Mailcow.
Rekomendasi proper (30+ user aktif)
Jangan taruh Mailcow di server .24
Server 10.100.1.24 sudah penuh microservice (Zammad, geonet-console, Grafana, n8n, …). Mail server butuh:
- Port 25/465/587/993 stabil
- RAM predictable
- Isolasi jika satu service restart tidak ganggu mail
Taruh di VM dedicated 10.100.1.28 — terpisah dari app server .24.
Spesifikasi VM (diset 2026-07-03)
| Resource | Nilai |
|---|---|
| IP | 10.100.1.28 |
| vCPU | 16 core |
| RAM | 32 GiB |
| Disk 1 | 512 GiB SSD — OS + Docker + MariaDB + Redis |
| Disk 2 | 512 GiB SSD — vmail live |
Spec ini melampaui minimum resmi Mailcow — sangat nyaman untuk 30+ user dan headroom growth.
Jangan Proxmox LXC + Docker (untuk production)
| Opsi | Produksi mail? |
|---|---|
| VM Linux penuh | ✅ Disarankan |
| LXC nested Docker | ⚠️ Bisa, tapi kurang bersih untuk mail jangka panjang |
Spesifikasi VM (rekomendasi → diset user)
Untuk 30+ mailbox aktif — nilai tebal = yang akan dipakai:
| Resource | Minimum | Rekomendasi doc | VM .27 (final) |
|---|---|---|---|
| vCPU | 2 | 4 | 16 |
| RAM | 8 GiB | 12–16 GiB | 32 GiB |
| Disk OS+DB | 40 GiB | 60 GiB | 512 GiB SSD |
| Disk vmail | 100 GiB | 200–300 GiB | 512 GiB SSD |
| Swap | 2 GiB | 4 GiB | 4 GiB |
Perkiraan storage email
| Asumsi | Per user/tahun | 30 user × 3 tahun |
|---|---|---|
| Ringan (5 GB/user) | 5 GB | ~150 GB |
| Sedang (10 GB/user) | 10 GB | ~300 GB |
| Berat (attachment) | 20 GB+ | 600 GB+ |
Mount mailcow data (./data, terutama vmail) di disk/volume terpisah agar mudah expand & backup.
OS & software host
| Item | Pilihan |
|---|---|
| OS | Debian 12 atau Ubuntu 22.04 LTS |
| Docker | ≥ 24.x |
| Docker Compose | Plugin v2 (≥ 2.0) |
| Firewall | ufw / nftables — buka 25, 80, 443, 465, 587, 993, 995 |
| Hostname VM | sync.geonet.co.id |
| PTR (reverse DNS) | IP publik → sync.geonet.co.id (wajib untuk deliverability) |
Optimasi mailcow.conf (30 user, stabil)
Default Mailcow memuat banyak komponen. Untuk 30 user dengan Outlook (bukan ActiveSync massal):
| Setting | Rekomendasi | Alasan |
|---|---|---|
SKIP_CLAMD |
n jika RAM ≥12 GiB, y jika ketat |
ClamAV ~1 GiB RAM |
SKIP_FTS / Solr |
y (opsional) |
Hemat RAM jika tidak pakai search SOGo berat |
| SOGo | Tetap default | Webmail cadangan; Outlook user utama |
| Redis maxmemory | Set batas di override | Cegah Redis membengkak |
Resmi Mailcow: Prerequisite System
Arsitektur target di .102
VM mail-sync — 10.100.1.28
├── 16 vCPU, 32 GiB RAM, 4 GiB swap
├── Disk 1: 512 GiB SSD (OS + Docker + MariaDB + Redis)
├── Disk 2: 512 GiB SSD (vmail live — tidak via NAS)
├── Docker: mailcow-dockerized
│ └── MAILCOW_HOSTNAME=sync.geonet.co.id
├── fetchmail (POP3 drain cPanel → Mailcow)
└── Backup cron → QNAP 10.100.1.10
Koneksi ke layanan lain:
| Dari | Ke | Port |
|---|---|---|
| VM Mailcow | AD 10.100.1.40 |
389 LDAP |
| VM Mailcow | Internet | 995 POP3 (cPanel drain) |
Zammad .24 |
VM Mailcow .27 |
993 IMAP, 587 SMTP |
| User Outlook | sync.geonet.co.id |
993 / 587 |
Backup jangka panjang (wajib)
| Item | Cara |
|---|---|
| Mailcow built-in | helper-scripts/backup_and_restore.sh |
| Jadwal | Harian → QNAP NFS/SMB atau rsync |
| Retensi | 7 harian + 4 mingguan |
| Uji restore | Kuartalan |
Tanpa backup, VM mail = single point of failure data.
Monitoring
| Cek | Tool |
|---|---|
| Container health | docker compose ps + Uptime Kuma |
| Disk vmail | Alert >80% |
| fetchmail | Log + alert jika cPanel inbox menumpuk |
| Queue Postfix | mailq |
| LDAP sync | Mailcow crontask logs |
Yang tidak disarankan
| Pilihan | Kenapa |
|---|---|
Mailcow di .24 bersama 15+ container |
RAM/port conflict, restart cascade |
| RAM 6 GiB untuk 30 user aktif | OOM / swap thrashing |
| 1 disk kecil tanpa pisah vmail | Sulit expand & backup |
| Skip PTR / SPF / DKIM | Email masuk spam |
| Thunderbird di PC sebagai bridge POP3 | Tidak 24/7 — pakai fetchmail di VM |
Checklist sebelum install
- VM di Proxmox
.102dengan spec di atas - DNS A
sync.geonet.co.id→ IP publik - PTR record ke
sync.geonet.co.id - Port 25 outbound/inbound dicek (provider tidak blokir)
- Firewall MikroTik NAT 25, 443, 465, 587, 993
- Volume data mail terpisah
- Rencana backup ke QNAP
Referensi
- Mailcow — Prepare your system
- Mailcow — Install
docs/notes/email-sync-migration-concept.mddocs/notes/ldap-ad-mailcow.md