Email · tanpa KYC
Host Mailcow di VPS Offshore
Mailcow menggabungkan satu mail stack lengkap dan siap produksi ke dalam satu proyek Docker Compose, sehingga Anda bisa menjalankan server SMTP/IMAP sendiri di VPS offshore tanpa pernah menyerahkan identitas Anda ke penyedia mailbox mana pun.
Apa itu
Mailcow (mailcow-dockerized) adalah suite email self-hosted yang menggabungkan Postfix, Dovecot, Rspamd, webmail SOGo, ClamAV, dan admin UI dalam satu deployment Docker Compose. Anda mendapat domain, mailbox, dan alias tanpa batas dengan DKIM per domain, penyaringan spam, IMAP push sungguhan, dan panel admin berbasis browser — semua yang dilakukan inbox hosted, tetapi di hardware yang Anda kendalikan sendiri.
Mengapa hosting di offshore
Inbox Anda adalah kunci utama ke semua akun lain yang Anda miliki, jadi di mana ia disimpan sangat penting: di VPS offshore tanpa KYC, mail server terikat pada yurisdiksi yang Anda pilih sendiri dan dibayar pakai kripto, bukan pada penyedia yang bisa membaca, memindai, membekukan, atau diminta membuka email Anda lewat somasi. ChainVPS membiarkan port 25 terbuka, menyediakan bandwidth unmetered untuk pengiriman massal, dan mengizinkan Anda mengatur PTR record yang sesuai — tiga hal yang biasanya diblokir oleh hosting murah dan justru mematikan email self-hosted.
Proses deploy
Contoh setup referensi yang berfungsi
Salin ini ke instance ChainVPS baru. Ganti placeholder-nya, lalu jalankan.
# Ubuntu 24.04 — deploy Mailcow lengkap dan berfungsi
# Prasyarat: DNS A/AAAA untuk mail.example.com -> IP VPS Anda, dan
# PTR record (rDNS) yang sesuai, diatur dari panel ChainVPS.
# 1. Instal Docker Engine + plugin Compose
curl -fsSL https://get.docker.com | sh
# 2. mailcow memerlukan umask 0022
umask 0022
# 3. Clone proyeknya
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
# 4. Generate mailcow.conf (akan menanyakan FQDN mail + zona waktu).
# Gunakan subdomain seperti mail.example.com — JANGAN PERNAH domain polos.
./generate_config.sh
# 5. (opsional) pangkas container berat di VPS kecil
sed -i 's/^SKIP_CLAMD=.*/SKIP_CLAMD=y/' mailcow.conf # menghemat ~1-2 GB RAM
sed -i 's/^SKIP_SOLR=.*/SKIP_SOLR=y/' mailcow.conf # menonaktifkan pencarian full-text
# 6. Tarik image dan jalankan stack-nya
docker compose pull
docker compose up -d
# 7. Admin UI: https://mail.example.com (login default: admin / moohoo)
# Login, GANTI password-nya, tambahkan domain Anda, lalu salin
# record DKIM yang dihasilkan ke DNS bersama SPF dan DMARC.
Firewall
Port yang perlu dibuka
| Port | Protokol | Tujuan |
|---|---|---|
| 25 | TCP | SMTP — email masuk dari server lain dan relay keluar (harus terbuka di kedua arah) |
| 587 | TCP | Submission (STARTTLS) — pengiriman terautentikasi oleh mail client |
| 465 | TCP | SMTPS — pengiriman client terautentikasi lewat TLS implisit |
| 143 | TCP | IMAP dengan STARTTLS |
| 993 | TCP | IMAPS — akses mail client lewat TLS implisit |
| 110 | TCP | POP3 dengan STARTTLS |
| 995 | TCP | POP3S |
| 4190 | TCP | ManageSieve — filter email sisi server |
| 80 | TCP | HTTP — ACME challenge Let's Encrypt dan redirect ke HTTPS |
| 443 | TCP | HTTPS — webmail SOGo dan admin UI |
Penyesuaian ukuran yang tepat
Paket mana yang Anda butuhkan
VPS Small — 2 vCPU / 6 GB RAM / 60 GB
6 GB adalah batas bawah yang nyaman untuk stack lengkap; biarkan ClamAV aktif untuk penyaringan spam/virus yang sesungguhnya.
VPS Pro — 4 vCPU / 8-12 GB RAM / 160 GB SSD
Ruang lebih untuk Rspamd, pencarian full-text Solr, dan trafik IMAP yang sibuk; sesuaikan disk dengan masa retensi mailbox.
Dedicated / Storage VPS — 8+ vCPU, 16-32 GB RAM, large disk
Pindahkan volume mail ke paket Storage untuk retensi skala TB yang murah; CPU dedicated menjaga ClamAV + Solr agar tidak menghambat pengiriman.
Lokasi terbaik: Pilih lokasi privacy-tier (NL, CH, RO, IS, MD, LU) agar yurisdiksi mailbox Anda benar-benar disengaja — Swiss dan Islandia punya standar privasi data dan pengungkapan terkuat untuk email yang disimpan. Lokasi mana pun yang Anda pilih, pastikan port 25 terbuka di kedua arah dan atur PTR record (rDNS) yang sesuai dengan MAILCOW_HOSTNAME Anda; bandwidth unmetered di node-node ini yang membuat pengiriman massal dan newsletter benar-benar layak dijalankan, dan proteksi DDoS yang sudah termasuk menjaga SMTP tetap bisa diakses saat terjadi flood.
Amankan sekarang
Daftar periksa hardening
- Deliverability itu soal DNS: publikasikan SPF (v=spf1 mx ~all), salin DKIM key hasil generate Mailcow ke DNS, tambahkan record DMARC, dan atur PTR/rDNS yang persis cocok dengan MAILCOW_HOSTNAME — tanpa forward+reverse DNS yang cocok, kebanyakan server akan menolak email Anda.
- Segera ganti login default admin/moohoo dan aktifkan two-factor TOTP pada login admin dan mailbox dari UI Mailcow.
- Mailcow sudah membawa container netfilter/fail2ban sendiri yang mengelola iptables secara langsung — JANGAN tumpuk ufw di atasnya; jika Anda menjalankan firewall di host, whitelist hanya port-port mail dan biarkan chain DOCKER-USER dikelola Mailcow.
- Jaga agar tetap ter-patch: jalankan ./update.sh dari direktori mailcow-dockerized secara terjadwal, dan backup secara rutin dengan helper-scripts/backup_and_restore.sh (simpan backup-nya di luar VPS).
- IP offshore baru belum punya reputasi pengiriman — panaskan secara bertahap, cek IP tersebut di blocklist Spamhaus/Barracuda sebelum go-live, dan ajukan delisting bila rentang IP itu pernah ditandai sebelumnya.
- Di node dengan RAM rendah, set SKIP_CLAMD=y dan SKIP_SOLR=y agar muat di ~3-4 GB, tapi aktifkan kembali ClamAV begitu RAM-nya mencukupi — ini secara nyata memangkas malware yang masuk.
Pertanyaan
Hosting Mailcow — FAQ
Apakah ChainVPS memblokir port 25 seperti kebanyakan hosting?
Tidak. Port 25 terbuka masuk dan keluar sehingga Mailcow bisa menerima email sekaligus me-relay-nya langsung — ini alasan terbesar mengapa hosting budget/cloud gagal untuk email self-hosted.
Bisakah saya mengatur reverse DNS (PTR) untuk deliverability yang baik?
Bisa. Atur PTR record dari panel yang sesuai dengan MAILCOW_HOSTNAME Anda (misalnya mail.example.com). Forward dan reverse DNS yang cocok wajib ada, kalau tidak penyedia besar akan menunda atau menolak email Anda.
Berapa banyak RAM yang sebenarnya dibutuhkan Mailcow?
Siapkan 6 GB untuk stack lengkap. Anda bisa menjalankannya dengan sekitar 3-4 GB dengan mengatur SKIP_CLAMD=y dan SKIP_SOLR=y di mailcow.conf, dengan konsekuensi kehilangan pemindaian virus bawaan dan pencarian full-text.
Lokasi mana yang terbaik untuk mailbox privat?
Node privacy-tier — Swiss atau Islandia untuk perlindungan pengungkapan terkuat, atau NL/RO/MD/LU jika Anda ingin trade-off latensi EU atau offshore. Semuanya membiarkan port 25 terbuka dan mendukung PTR.
Apakah email saya benar-benar privat di VPS tanpa KYC?
Server itu milik Anda: email disimpan di disk yang Anda kendalikan, di yurisdiksi yang Anda pilih, dibayar pakai kripto tanpa identitas yang menempel. Gunakan enkripsi disk penuh dan backup off-site, dan hanya Anda — bukan penyedia mailbox — yang bisa membaca penyimpanannya.
Bagaimana cara menjaganya tetap ter-update dan ter-backup?
Jalankan ./update.sh secara berkala dari folder mailcow-dockerized untuk menarik image baru, dan gunakan helper-scripts/backup_and_restore.sh untuk snapshot email, konfigurasi, dan database — kirim backup itu ke paket ChainVPS Storage terpisah.
Lebih banyak untuk di-self-host
Stack one-click lainnya
Jalankan Mailcow
dalam 60 detik ke depan.
Bandwidth unmetered · DDoS Termasuk · 21 mata uang kripto · Tanpa KYC.