
Mailcow Dockerized, Docker tabanlı çalışan güçlü ve açık kaynaklı bir mail sunucusu çözümüdür. Sistem güvenliği, hata düzeltmeleri ve yeni özelliklerden yararlanmak için Mailcow’un düzenli olarak güncellenmesi önemlidir.
Bu makalede, Mailcow Dockerized sisteminin güvenli şekilde nasıl güncelleneceğini adım adım anlatacağız.
Mailcow yönetim paneline giriş yaptığınızda ana ekranda mevcut sürüm bilgisi görüntülenir. Örneğin sistemde aşağıdaki gibi bir bilgi görünebilir:
Version: 2026-03b
Mevcut bir güncelleme var: 2026-05c
Bu durumda sistemde daha yeni bir Mailcow sürümü bulunduğu anlaşılır ve güncelleme işlemi yapılabilir.
Öncelikle Mailcow’un kurulu olduğu sunucuya SSH ile bağlanılır:
ssh [email protected]
Ardından Mailcow kurulum dizinine geçilir:
cd /opt/mailcow-dockerized
Dizinin doğru olduğunu kontrol etmek için:
ls
Bu klasörde aşağıdaki dosya ve klasörlerin görülmesi gerekir:
docker-compose.yml
mailcow.conf
update.sh
helper-scripts
data
Güncelleme işleminden önce mutlaka yedek alınmalıdır. Mailcow kendi içinde backup script’i ile gelir.
Aşağıdaki komut ile tüm Mailcow bileşenlerinin yedeği alınabilir:
./helper-scripts/backup_and_restore.sh backup all --delete-days 3
Komut çalıştırıldığında sistem yedekleme konumunu soracaktır:
Backup location (absolute path, starting with /):
Bu alana örnek olarak aşağıdaki yol yazılabilir:
/opt/mailcow-backup
Eğer klasör yoksa önceden oluşturmak için:
mkdir -p /opt/mailcow-backup
Ardından yedekleme komutu tekrar çalıştırılır:
./helper-scripts/backup_and_restore.sh backup all --delete-days 3
Yedekleme tamamlandıktan sonra yedeklerin oluşup oluşmadığı kontrol edilir:
ls -lh /opt/mailcow-backup
Güncelleme sırasında yeni Docker imajları indirileceği için diskte yeterli boş alan olduğundan emin olunmalıdır.
Disk kullanımını kontrol etmek için:
df -h
Özellikle / veya Mailcow’un bulunduğu disk bölümünde yeterli boş alan olması gerekir.
Güncelleme öncesinde mevcut Mailcow container’larının durumunu kontrol etmek faydalıdır:
docker compose ps
Container’ların büyük çoğunluğunun running veya healthy durumda olması beklenir.
Yedekleme ve kontroller tamamlandıktan sonra güncelleme işlemi başlatılır:
cd /opt/mailcow-dockerized
./update.sh
Güncelleme script’i gerekli kontrolleri yapar, yeni dosyaları indirir ve container’ları günceller.
İşlem sırasında bazı onay soruları gelebilir. Genellikle devam etmek için y yazılır:
Continue? [y/N] y
Güncelleme sırasında Mailcow servislerinde kısa süreli kesinti yaşanabilir. Bu nedenle işlemin yoğun mail trafiği olmayan bir zamanda yapılması önerilir.
Güncelleme tamamlandıktan sonra container durumları tekrar kontrol edilir:
docker compose ps
Servislerin çalıştığını doğrulamak için loglar incelenebilir:
docker compose logs --tail=100
Özellikle aşağıdaki servislerin logları kontrol edilebilir:
docker compose logs --tail=100 nginx-mailcow
docker compose logs --tail=100 postfix-mailcow
docker compose logs --tail=100 dovecot-mailcow
docker compose logs --tail=100 mysql-mailcow
Bu servislerde kritik hata görünmüyorsa sistem büyük ihtimalle sağlıklı şekilde çalışmaktadır.
Güncelleme sonrası mail kuyruğunda bekleyen mesaj olup olmadığı kontrol edilebilir:
docker compose exec postfix-mailcow postqueue -p
Eğer kuyruk boşsa aşağıdaki gibi bir çıktı görülebilir:
Mail queue is empty
Tarayıcı üzerinden Mailcow yönetim paneline tekrar giriş yapılır:
https://mail.domain.com/admin
Dashboard ekranında yeni sürüm bilgisinin göründüğü kontrol edilir.
Örneğin:
Version: 2026-05c
Bu bilgi görünüyorsa güncelleme başarılı şekilde tamamlanmış demektir.
Son olarak sistemin sağlıklı çalıştığını doğrulamak için test yapılmalıdır.
Aşağıdaki kontroller önerilir:
Sistem birkaç saat veya bir gün sorunsuz çalıştıktan sonra eski Docker imajları temizlenebilir.
docker image prune
Bu işlem kullanılmayan eski Docker imajlarını siler ve disk alanı kazandırır.
Daha agresif temizlik komutları kullanılmadan önce dikkatli olunmalıdır. Yanlış temizlik işlemleri çalışan sistemleri etkileyebilir.
Aşağıdaki komutlar temel güncelleme sürecini özetler:
cd /opt/mailcow-dockerized
mkdir -p /opt/mailcow-backup
./helper-scripts/backup_and_restore.sh backup all --delete-days 3
ls -lh /opt/mailcow-backup
df -h
docker compose ps
./update.sh
docker compose ps
docker compose logs --tail=100
Mailcow Dockerized güncellemesi doğru adımlar izlendiğinde oldukça güvenli bir işlemdir. Ancak mail sunucuları kritik sistemler olduğu için güncelleme öncesinde mutlaka yedek alınmalı, disk durumu kontrol edilmeli ve işlem sonrası mail gönderme/alma testleri yapılmalıdır.
Özellikle üretim ortamlarında güncelleme işleminin mesai dışı saatlerde yapılması ve mümkünse sanallaştırma platformu üzerinden snapshot alınması önerilir.