Cara Mengatasi Mailcow Error dependency unbound-mailcow failed to start

Kalau kamu pakai Mailcow di VPS, kadang ada satu error yang cukup sering muncul waktu container dijalankan, yaitu:

dependency unbound-mailcow failed to start

Ini termasuk error yang cukup umum ditemuin pas migrasi Mailcow ke provider VPS baru, jadi kalau kamu ngalamin ini abis pindah server, kemungkinan besar penyebabnya emang sama. Error ini biasanya muncul karena provider VPS tertentu (terutama yang pakai jaringan IPv6 tapi konfigurasinya belum sempurna) bikin resolver Unbound bingung pas nyoba binding ke alamat IPv6 yang sebenarnya gak bisa dipakai dengan benar di environment container. Akibatnya, service Unbound gagal start, dan karena banyak service Mailcow lain bergantung ke Unbound buat resolusi DNS internal, satu error ini bisa bikin seluruh stack Mailcow gagal jalan.

Biasanya error ini muncul waktu kita menjalankan Mailcow dengan docker compose up, lalu beberapa service tidak bisa start karena Unbound gagal jalan.

Tenang bro, ini bukan error besar. Biasanya penyebabnya cuma karena konfigurasi IPv6 di Unbound yang tidak cocok dengan server kita, apalagi kalau kamu pakai VPS dari provider yang belum full support IPv6 atau setup jaringannya masih setengah-setengah.

Solusi paling simpel adalah menonaktifkan IPv6 di Unbound saja, bukan di seluruh server.

Yuk kita beresin step-by-step.

Kalau ditelusuri lebih dalam, masalah ini biasanya terjadi karena kombinasi beberapa hal berikut:

  • VPS tidak mendukung IPv6
  • IPv6 dimatikan di server
  • Unbound mencoba listen ke IPv6

Akhirnya container unbound-mailcow gagal start, dan karena container ini termasuk dependency inti buat resolusi DNS internal Mailcow, error-nya langsung nge-cascade ke service lain yang butuh Unbound buat jalan normal.

Solusinya cukup matikan IPv6 di konfigurasi Unbound.

1. Edit Konfigurasi Unbound

Langkah pertama, masuk dulu ke folder instalasi Mailcow lewat SSH. Kalau kamu install Mailcow dengan cara standar, biasanya lokasinya emang di path default ini:

cd /opt/mailcow-dockerized
nano data/conf/unbound/unbound.conf

Di dalam file ini cari bagian konfigurasi IPv6 seperti berikut:

do-ip6: yes
interface: ::0

Sekarang ubah menjadi seperti ini:

do-ip6: no
#interface: ::0

Penjelasan sedikit bro:

  • do-ip6: no menonaktifkan IPv6 di Unbound
  • #interface: ::0 kita comment saja supaya mudah rollback nanti

Tips kecil: jangan dihapus, cukup di-comment saja pakai tanda pagar di depannya. Kalau suatu saat kamu butuh IPv6 lagi (misal provider VPS kamu udah full support), tinggal hapus tanda pagarnya dan restart container, gak perlu setup ulang dari nol.

Setelah selesai, simpan file seperti biasa.

2. Restart Mailcow Container

Supaya perubahan konfigurasi diterapkan, kita perlu restart semua container Mailcow. Ini penting karena Docker cuma baca file config pas container pertama kali start, jadi sekadar edit file doang gak bakal langsung kepake tanpa restart.

Jalankan perintah berikut:

docker compose down
docker compose up -d

Perintah ini akan:

  • menghentikan container Mailcow
  • menjalankan kembali dengan konfigurasi terbaru

Biasanya setelah ini unbound-mailcow langsung bisa start dengan normal.

3. Cek Log Unbound

Untuk memastikan semuanya sudah normal, kita bisa cek log container Unbound.

Jalankan perintah berikut:

docker compose logs -f unbound-mailcow

Kalau sudah tidak ada error lagi dan service berjalan normal, berarti masalahnya sudah beres.

Kenapa Error Ini Sering Terjadi

Banyak VPS provider sebenarnya tidak mengaktifkan IPv6 secara default.

Sementara Mailcow mencoba menjalankan Unbound dengan IPv6 aktif.

Akibatnya Unbound gagal bind ke interface IPv6 dan container tidak bisa start.

Dengan mematikan IPv6 di Unbound saja, masalah ini biasanya langsung selesai.

Penutup

Nah bro, sekarang kamu sudah tahu cara mengatasi error dependency unbound-mailcow failed to start di Mailcow.

Solusinya simpel banget:

Edit konfigurasi unbound.conf
Nonaktifkan IPv6 di Unbound
Restart container Mailcow
Cek log untuk memastikan semuanya normal

Cara ini aman karena kita hanya menonaktifkan IPv6 di Unbound, bukan di seluruh server.

Cara Verifikasi Fix-nya Beneran Jalan

Setelah restart, jangan langsung ninggalin server. Cek dulu status semua container Mailcow buat mastiin gak ada yang masih Restarting atau Exited:

docker compose ps

Semua container harusnya statusnya Up atau Up (healthy). Kalau masih ada yang Restarting, cek log spesifik container itu dengan docker logs nama_container buat cari tau penyebab lain yang mungkin ketimpa error Unbound tadi.

Selain itu, coba juga tes resolusi DNS dari dalam container mailcow lain, misal:

docker exec -it postfix-mailcow nslookup google.com

Kalau hasilnya berhasil resolve, berarti Unbound udah beneran jalan normal dan siap dipakai buat operasional Mailcow sehari-hari.

Ada baiknya kamu simpen catatan fix ini buat jaga-jaga, siapa tau kejadian lagi di server lain atau pas migrasi ke provider baru di masa depan.

Semoga tutorial santai ini bisa bantu kamu yang lagi setup Mailcow di VPS.
Kalau nanti kamu nemu error Mailcow lain yang bikin pusing, santai aja bro, biasanya ada trik kecil buat beresinnya

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.