Gas lanjut ke topik selanjutnya.
Ada beberapa image Docker buat mail server. Bedanya, docker-mailserver/docker-mailserver lebih simple & minimal, sedangkan jeboehm/docker-mailserver yang kita pakai di sini udah bundling webmail (Roundcube) dan panel admin bawaan, jadi lebih cocok kalau kamu mau langsung ada interface tanpa install terpisah.
Kalau kamu lagi cari mail server berbasis Docker yang lebih mudah dikelola dibanding Docker Mail Server biasa, maka Jeboehm Docker Mail Server bisa jadi pilihan yang menarik.
Alasannya cukup sederhana. Selain menyediakan SMTP, IMAP, dan POP3, project ini juga sudah dilengkapi:
- Webmail bawaan
- Panel admin berbasis web
- Manajemen user email
- Manajemen domain
- DKIM
- SPF
- DMARC
- Rspamd anti spam
- Redis
- MariaDB
Jadi kita tidak perlu lagi membuat panel manajemen user secara manual seperti saat menggunakan Docker Mail Server standar.
Pada tutorial ini kita akan melakukan instalasi Jeboehm Docker Mail Server di Ubuntu VPS menggunakan Docker Compose.
Spesifikasi Minimum VPS
Untuk penggunaan ringan hingga menengah:
- 2 vCPU
- 4 GB RAM
- 40 GB SSD
- Ubuntu 22.04 atau Ubuntu 24.04
Port yang harus dibuka:
25
465
587
110
995
143
993
81
Pastikan juga sudah memiliki:
- Domain utama
- Subdomain mail
Contoh:
domain.kamu
mail.domain.kamu
Update Sistem
Sebelum memulai instalasi, update terlebih dahulu package VPS.
sudo apt update && sudo apt upgrade -y

Install Docker dan Docker Compose
Install Docker:
curl -fsSL https://get.docker.com | sh
Tambahkan user ke group docker:
sudo usermod -aG docker $USER
Logout kemudian login kembali.
Cek instalasi Docker:
docker --version
docker compose version

Clone Repository
Buat folder khusus agar tidak tercampur dengan project lain.
Misalnya:
cd /home/ubuntu
git clone https://github.com/jeboehm/docker-mailserver.git jeboehm-mailserver
cd jeboehm-mailserver

Membuat File Environment
Copy file environment bawaan:
cp .env.dist .env
Edit file:
nano .env
Isi minimal seperti berikut:
MYSQL_DATABASE=mailserver
MYSQL_USER=mailserver
MYSQL_PASSWORD=PasswordDatabaseKuat
MYSQL_ROOT_PASSWORD=RootPasswordDatabaseKuat
REDIS_HOST=redis
REDIS_PASSWORD=PasswordRedisKuat
REDIS_PORT=6379
MAILNAME=mail.domain.kamu
POSTMASTER=postmaster@domain.kamu
CONTROLLER_PASSWORD=PasswordRspamdKuat
DOVEADM_API_KEY=ApiKeyRahasiaYangPanjang
Penjelasan singkat:
MYSQL_PASSWORD
Digunakan untuk database mail server.
REDIS_PASSWORD
Digunakan untuk Redis internal.
MAILNAME
Hostname mail server.
POSTMASTER
Email administrator utama.
CONTROLLER_PASSWORD
Password panel Rspamd.
DOVEADM_API_KEY
Digunakan untuk komunikasi internal Dovecot.

Download Seluruh Image
Tarik seluruh image yang dibutuhkan:
bin/production.sh pull
Proses ini akan mendownload seluruh container yang dibutuhkan seperti:
- MariaDB
- Redis
- Postfix
- Dovecot
- Rspamd
- Roundcube
- Admin Panel

Menjalankan Mail Server
Jalankan seluruh service:
bin/production.sh up -d --wait
Cek status container:
docker ps
Normalnya hampir semua container akan berstatus:
healthy
Container SSL biasanya akan muncul:
Exited (0)
Hal ini normal karena container tersebut hanya membuat self-signed certificate saat pertama kali dijalankan.
Membuat User Email Pertama
Jalankan setup wizard:
bin/production.sh run --rm web setup.sh
Masukkan email pertama:
info@domain.kamu
Masukkan password email.
Jika berhasil akan muncul:
Your new email address info@mail.domain.kamu was successfully created.
Akses Webmail
Secara default webmail tersedia di:
http://IPSERVER:81/webmail/
Login menggunakan:
info@domain.kamu
dan password yang dibuat sebelumnya.
Akses Panel Admin
Panel admin tersedia di:
http://IPSERVER:81/manager/
Jika ingin membuat administrator:
bin/production.sh run --rm web php artisan administrator:create
Masukkan:
info@domain.kamu
beserta password admin yang diinginkan.
Setelah selesai akun tersebut dapat digunakan untuk login ke panel administrator.

Konfigurasi DNS
Sebelum mail server bisa digunakan untuk mengirim dan menerima email secara normal, kamu perlu menambahkan beberapa DNS record pada domain yang digunakan.
Setiap record memiliki fungsi yang berbeda. Ada yang bertugas mengarahkan email ke server, ada yang membantu validasi pengirim, dan ada juga yang meningkatkan reputasi email agar tidak mudah masuk folder spam.
Menambahkan MX Record
MX Record digunakan untuk menentukan server mana yang bertanggung jawab menerima email untuk domain kamu.
domain.kamu MX 10 mail.domain.kamu
Membuat A Record untuk Mail Server
Selanjutnya arahkan subdomain mail ke alamat IP VPS.
mail.domain.kamu -> IP VPS
Konfigurasi SPF
SPF digunakan untuk membantu mencegah pemalsuan alamat pengirim email.
v=spf1 mx a ip4:IP_VPS ~all
Konfigurasi DMARC
DMARC digunakan untuk memberi tahu server penerima apa yang harus dilakukan kalau email gagal validasi SPF/DKIM misal ditolak, dikarantina, atau tetap diterima meski gagal validasi.
v=DMARC1; p=quarantine; rua=mailto:dmarc@domain.kamu
DKIM dapat diambil dari panel admin setelah instalasi selesai.

Menggunakan SSL Let’s Encrypt
Secara default sistem akan membuat self-signed certificate.
Untuk produksi sebaiknya menggunakan Let’s Encrypt agar koneksi SMTP dan IMAP dipercaya oleh client email.
Pastikan:
- Port 80 dapat diakses publik
- DNS mail.domain.kamu mengarah ke VPS
Setelah itu lakukan konfigurasi SSL sesuai dokumentasi resmi.
Pengujian Email
Setelah semua selesai lakukan pengujian:
- Kirim email ke Gmail
- Balas email dari Gmail
- Login menggunakan Thunderbird
- Login menggunakan Outlook
- Login menggunakan Roundcube
Jika email dapat dikirim dan diterima maka instalasi berhasil.
Kelebihan Jeboehm Docker Mail Server
Beberapa kelebihan yang saya rasakan:
- User management bawaan
- Webmail bawaan
- DKIM otomatis
- Anti spam Rspamd
- UI lebih nyaman
- Mudah menambah domain
- Mudah menambah mailbox
- Berbasis Docker
Cocok untuk:
- Perusahaan
- Hosting email internal
- Email bisnis
- Developer
- SysAdmin
Kendala yang Sering Muncul
- Container SSL statusnya “Exited” terus, bukan cuma sekali di awal
biasanya karena port 80 belum kebuka buat proses renewal Let’s Encrypt. Cek firewall/security group VPS. - Webmail/panel admin nggak bisa diakses di port 81
pastikan port 81 udah dibuka di firewall (ufw allow 81kalau pakai UFW), dan cek juga security group kalau pakai cloud provider (AWS, GCP, dll). - Setup wizard gagal bikin user email
biasanya karena container database (MariaDB) belum fully healthy. Cek duludocker ps, tunggu sampai statushealthy, baru jalankan ulang. - Email masuk folder spam
cek ulang SPF/DKIM/DMARC record udah propagasi sempurna pakaimxtoolbox.com, dan pastikan reverse DNS (PTR record) IP VPS udah diatur kemail.domain.kamu(biasanya diminta ke provider VPS).
Penutup
Nah bro, sekarang Jeboehm Docker Mail Server sudah berhasil terinstall dan siap digunakan untuk kirim maupun menerima email.
Menurut saya solusi ini jauh lebih nyaman dibanding Docker Mail Server standar kalau kamu butuh panel admin dan manajemen user yang lebih mudah.
Semoga tutorial santai ini bisa membantu kamu yang lagi oprek VPS atau sedang membangun mail server sendiri.
Sampai ketemu di tutorial berikutnya bro
























