Masdika Loading..
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

  • Home
  • Portfolio
  • Services
  • Resume
  • Skills
  • Blog
  • Contact
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

Download CV

Recent Posts

  • Dari Laptop Bekas Jadi Server Pribadi: Cara Membangun Home Server Murah Menggunakan ISP MyRepublic dengan Public IP
  • Pembuatan Subnet dan Alokasi IP Address pada Amazon Web Service VPC
  • Instalasi dan Konfigurasi AWS CLI pada EC2 (Lab Guide)
  • Membangun Arsitektur Web + Database Highly Available di AWS (RDS Multi-AZ)
  • Cara Reset Password OpenBSD di Proxmox via VNC

Recent Comments

  1. Alif on Jangan Gunakan latest Tag pada Docker Images! Ini Alasannya
  2. Sahrull on Panduan Lengkap Anti-DDoS: Installasi Iptables, Hardening, dan Cloudflare Proxy
  3. VSTRA on Cara Cerdas Menguasai Kubernetes (K8s): Panduan Lengkap Orkestrasi Kontainer untuk Developer Modern
  4. Rikiy on Cara Mudah Deploy Website Node.js Menggunakan Docker
  5. Masdika.BIZ.ID on Disaster Recovery Cluster (DRC) WordPress dengan MariaDB Galera dan Load Balancer Caddy

Categories

  • Tutorial

Masdika.ID

  • About
  • Terms & Conditions
  • Privacy Policy
BLOG POST

Cara Install Mail Server Menggunakan Poste.io di Docker

June 19, 2025 Tutorial by Masdika.ID
Cara Install Mail Server Menggunakan Poste.io di Docker

Membangun mail server pribadi kini jauh lebih mudah dengan bantuan Docker. Salah satu solusi populer adalah Poste.io, sebuah mail server all-in-one berbasis web yang mudah digunakan. Dalam artikel ini, kita akan membahas cara menginstal mail server menggunakan Poste.io di Docker dengan file YAML (docker-compose.yml) sesuai dokumentasi resminya. Panduan ini ideal untuk pemula maupun sysadmin yang ingin solusi cepat dan aman.

✨ Mengapa Memilih Poste.io?

Poste.io memiliki berbagai keunggulan:

  • Antarmuka berbasis web (Web UI)
  • Terintegrasi dengan antivirus dan antispam
  • Mendukung Let’s Encrypt SSL
  • Dukungan Docker lengkap
  • Otomatisasi penuh dalam satu kontainer

⚙️ 1. Persiapan Sistem

Sebelum memulai, pastikan Anda sudah memiliki:

  • Server dengan sistem operasi berbasis Linux (contoh: Ubuntu, Debian, CentOS)
  • Docker dan Docker Compose terinstal
  • Domain aktif (misalnya: mail.domainanda.com)
  • Port 25, 80, 110, 143, 443, 465, 587, 993, 995, dan 4190 terbuka di firewall

📁 2. Buat Direktori Kerja

Gunakan direktori absolut agar lebih jelas dan tidak bergantung pada ~ (home user). Contoh:

sudo mkdir -p /srv/poste/data
cd /srv/poste

📄 3. Buat File docker-compose.yml

Penjelasan Lengkap Port yang Digunakan oleh Poste.io:

PortProtokolFungsi
25SMTPMenerima email dari mail server lain (inbound SMTP)
80HTTPUntuk HTTP biasa, digunakan oleh Let’s Encrypt untuk verifikasi SSL
110POP3Protokol akses email standar, klien akan mengakses dengan STARTTLS
143IMAPProtokol akses email modern, digunakan dengan STARTTLS
443HTTPSAkses ke webmail dan panel admin via SSL
465SMTPSSMTP lama dengan enkripsi langsung, masih digunakan oleh beberapa klien
587MSASMTP modern untuk pengiriman email dari klien (dengan autentikasi)
993IMAPSIMAP terenkripsi penuh sejak awal koneksi
995POP3SPOP3 terenkripsi penuh sejak awal koneksi
4190SieveProtokol untuk pengaturan filter email otomatis (server-side rules)

Pastikan semua port di atas terbuka di firewall dan ISP Anda tidak memblokir port standar email (terutama 25, 465, dan 587).

Buat file docker-compose.yml di dalam direktori /srv/poste dengan isi sebagai berikut:

services:
  poste:
    image: analogic/poste.io
    container_name: mailserver
    restart: always
    hostname: mail.namadomainmu.id
    ports:
      - "25:25"     # SMTP
      - "80:80"     # HTTP (Let's Encrypt & redirect)
      - "110:110"   # POP3
      - "143:143"   # IMAP
      - "443:443"   # HTTPS
      - "465:465"   # SMTPS (legacy)
      - "587:587"   # MSA SMTP with auth
      - "993:993"   # IMAPS
      - "995:995"   # POP3S
      - "4190:4190" # Sieve
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Jakarta

Penjelasan YAML:

  • image: Menggunakan image resmi dari Docker Hub.
  • container_name: Menetapkan nama kontainer sebagai mailserver.
  • ports: Mengekspose semua port penting untuk layanan email (SMTP, IMAP, POP3, HTTPS, dll).
  • volumes: Menyimpan data ke direktori lokal agar data tidak hilang saat kontainer dihentikan.
  • environment: Mengatur zona waktu agar sesuai dengan lokasi server.

▶️ 4. Jalankan Mail Server

Dari direktori /srv/poste, jalankan perintah berikut:

docker-compose up -d

Perintah ini akan menjalankan container poste.io di background.

🌍 5. Akses Antarmuka Web

Buka browser dan akses:

https://mail.domainanda.com

Pertama kali Anda membuka, akan muncul halaman setup. Anda diminta membuat akun admin dan mengonfigurasi domain email Anda.

🌐 6. Konfigurasi DNS

Tambahkan DNS record berikut di panel domain Anda agar email dapat dikirim dan diterima dengan baik:

Jenis RecordHostNilai / TujuanKeterangan
AmailIP-Publik-Server-AndaUntuk menunjuk domain ke server
MX@ (atau domain utama)mail.domainanda.com (prioritas 10)Untuk menerima email
TXT@v=spf1 mx ~allSPF record untuk otorisasi email
TXT_dmarcv=DMARC1; p=none; rua=mailto:you@domainanda.comDMARC record
TXT default._domainkey(nilai dari panel DKIM poste.io)DKIM record (di-generate otomatis)

Catatan: Pastikan semua DNS record sudah tersimpan dan propagasi DNS sudah selesai sebelum menguji pengiriman/terima email.

💾 7. Manajemen dan Backup

Semua data tersimpan di /srv/poste/data. Pastikan direktori ini dibackup secara berkala:

tar czf /root/poste-backup.tar.gz /srv/poste/data

🎉 Penutup

Dengan menggunakan docker-compose.yml, Anda dapat menginstal mail server Poste.io dengan cepat dan efisien. Solusi ini sangat cocok untuk personal, startup, atau organisasi yang membutuhkan kontrol penuh atas sistem email.

🔐 Untuk keamanan tambahan, pastikan server dilindungi firewall, port hanya terbuka untuk layanan yang diperlukan, dan update rutin dilakukan terhadap container., port hanya terbuka untuk layanan yang diperlukan, dan update rutin dilakukan terhadap container.

Share:
Tags: dockermail serverposte io
Related Posts
VM vs Container vs Pod – Perbedaan Lengkap untuk Cloud & DevOps!

Dalam dunia Cloud Computing dan DevOps, tiga istilah yang paling sering kita dengar adalah Virtual Machine (VM), Container, dan Pod….

Deploy Go REST API di Kubernetes (K3s) dengan PostgreSQL, SSL Cloudflare, dan Autoscaling

Artikel ini akan membahas langkah end-to-end untuk membangun aplikasi Go REST API, membuat image Docker, lalu melakukan deployment di Kubernetes…

Post navigation

Prev
Next
4 Comments
  • Fajri 8:27 am June 20, 2025 Reply

    Thank you bang udah sharing, mau nanya sedikit kalau tutorial diatas dilakukan di server vps dan saya ingin menghubungkan server vps dengan server yg ada dilokal, apa memungkinkan? dan konfigurasi nya akan seperti apa ya?

    Jadi server lokal sebagai tempat backup atau mail relay gitu.

    • Masdika.BIZ.ID 8:39 am June 20, 2025 Reply

      Bisa, mas! Jadi VPS yang pakai Poste.io bisa dihubungkan ke server lokal, tergantung mau dipakai buat apa:

      🔁 Kalau server lokal buat relay (ngirim email lewat VPS):

      Install Postfix di server lokal.

      Atur supaya email dari lokal dikirim lewat VPS (relayhost).

      Di VPS (Poste.io), izinkan IP lokal untuk kirim email.

      💾 Kalau server lokal buat backup email:

      Bisa pakai rsync buat backup folder /data dari VPS ke lokal.

      Atau pakai imapsync buat salin email dari VPS ke server lokal.

      Yang penting, dua server bisa saling terhubung (pakai VPN atau IP publik), dan amanin koneksinya.

  • Fajri 9:18 am June 20, 2025 Reply

    Wah menarik mas jadi pengen coba, hmm jadi di server lokal gaperlu pakai poste.io/docker kan ya?

    cukup postfix aja, atau better di install docker juga?

    • Masdika.BIZ.ID 11:17 am June 20, 2025 Reply

      Betul, mas! Kalau server lokal cuma dipakai buat relay atau backup, nggak perlu install Poste.io atau Docker lagi.

      Cukup pakai Postfix (buat relay) atau tools seperti rsync / imapsync (buat backup). Jadi lebih ringan dan simpel. 👍

Write a comment Cancel Reply


© 2025 www.masdika.id — Semua hak cipta dilindungi