Mailcow ships update.sh in the repo root. It pulls new container tags, regenerates configs, and brings the stack up.
Standard upgrade:
cd /opt/mailcow-dockerized
./update.sh -c # show changelog only
./update.sh # actually upgrade
What it does:
git fetchand check for new commits onmaster.- Diff your
mailcow.confagainstmailcow.conf.exampleand warn about new variables. docker compose pullnew image versions.docker compose downandup -d.
Best practices:
- Read
./update.sh -cBEFORE running. Breaking changes are flagged with!!!. - Take a backup snapshot first (
backup_and_restore.sh backup all). - Upgrade in a low-traffic window — there's typically 30–90 s of downtime.
- After upgrade, check
docker compose ps— every container should behealthyorrunning.
Sign in to keep track of what you have read.