Cara Install Jeboehm Docker Mail Server di Ubuntu VPS Lengkap dengan Webmail dan Panel Admin

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 81 kalau 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 dulu docker ps, tunggu sampai status healthy, baru jalankan ulang.
  • Email masuk folder spam
    cek ulang SPF/DKIM/DMARC record udah propagasi sempurna pakai mxtoolbox.com, dan pastikan reverse DNS (PTR record) IP VPS udah diatur ke mail.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

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.