Zum Inhalt

Installation von mailcow

Voraussetzungen

Systempakete

Die folgenden Linux-Pakete sind für die Nutzung von mailcow erforderlich und müssen je nach Ihrer Distribution gegebenenfalls nachinstalliert werden:

  • git
  • openssl
  • curl
  • awk
  • sha1sum
  • grep
  • cut
  • jq (neu ab 2025-08)

Docker und Docker Compose

Für die Installation benötigen Sie:

  • Docker: Version >= 24.0.0
  • Docker Compose: Version >= 2.0

Anleitungen zur Installation finden Sie hier:

Schnellinstallation

Systempakete

Debian/Ubuntu:
apt update
apt install -y git openssl curl gawk coreutils grep jq
RHEL-basierte Systeme (z.B. Rocky Linux 9):
dnf install -y git openssl curl gawk coreutils grep jq
Alpine Linux (bspw. 3.22):
apk add --no-cache --upgrade sed findutils bash git openssl curl gawk coreutils grep jq

Hinweis

Alle Programme, die nicht explizit im Installationsprozess aufgeführt sind, sind bereits als Unterprogramme in coreutils enthalten.

Docker

Wichtig

Verwenden Sie die neueste verfügbare Docker-Engine und nicht die Version aus den Paketquellen Ihrer Linux-Distribution.

Debian/Ubuntu:
curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker
RHEL-basierte Systeme (z. B. Rocky Linux 9):
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
Alpine Linux (bspw. 3.22):
apk --no-cache --upgrade add docker
rc-update add docker default
rc-service docker start

Hinweis

Das get.docker.com-Skript funktioniert auf RHEL und Alpine Linux Systemen nicht zuverlässig oder gar nicht. Verwenden Sie stattdessen die manuelle Methode.

Docker Compose

Achtung

mailcow benötigt Docker Compose in Version >= 2.0.

Installation über Paketmanager (Plugin)

Hinweis

Diese Methode setzt voraus, dass das Docker-Repository eingebunden wurde (siehe Docker).

Debian/Ubuntu:
apt update
apt install docker-compose-plugin
RHEL-basierte Systeme:
dnf update
dnf install docker-compose-plugin
Alpine Linux (bspw. 3.22):
 apk add --no-cache --upgrade docker-cli-compose

Achtung

Bei der Plugin-Variante lautet der Befehl docker compose (ohne Bindestrich).

Installation als Standalone-Version
LATEST=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/docker/compose/releases/latest) && \
LATEST=${LATEST##*/} && \
curl -L https://github.com/docker/compose/releases/download/$LATEST/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Achtung

Bei der Standalone-Version lautet der Befehl docker-compose (mit Bindestrich).


SELinux-Konfiguration (optional)

Auf SELinux-aktivierten Systemen (z. B. CentOS 7):

  1. Prüfen Sie, ob das Paket container-selinux installiert ist:

    rpm -qa | grep container-selinux
    
  2. Aktivieren Sie die SELinux-Unterstützung in Docker:

    • Bearbeiten Sie /etc/docker/daemon.json und fügen Sie "selinux-enabled": true hinzu:
    {
      "selinux-enabled": true
    }
    
    • Starten Sie den Docker-Daemon neu.

Weitere Informationen finden Sie in der container-selinux-Readme.


Installation von mailcow

  1. Klonen Sie das Repository:

    su
    umask 0022
    cd /opt
    git clone https://github.com/mailcow/mailcow-dockerized
    cd mailcow-dockerized
    
  2. Generieren Sie die Konfigurationsdatei:

    ./generate_config.sh
    
  3. Passen Sie die Konfiguration bei Bedarf an:

    nano mailcow.conf
    

Starten von mailcow

Laden Sie die Images herunter und starten Sie die Container:

docker compose pull
docker compose up -d
docker-compose pull
docker-compose up -d

Geschafft!

Sie können nun unter https://${MAILCOW_HOSTNAME}/admin mit den Standard-Zugangsdaten admin und dem Passwort moohoo zugreifen.


Problembehandlung

MTU ungleich 1500 (z. B. OpenStack)

Passen Sie die Netzwerkeinstellungen in docker-compose.yml an:

networks:
  mailcow-network:
    driver_opts:
      com.docker.network.driver.mtu: 1450

Kein IPv6 auf dem Hostsystem

Deaktivieren Sie IPv6 für das mailcow-Netzwerk, falls Ihr Hostsystem kein IPv6 unterstützt. Weitere Informationen finden Sie hier.


Wichtige Hinweise

  • Datenpersistenz: Ihre Daten werden in Docker-Volumes gespeichert und bleiben erhalten, auch wenn Sie Container neu erstellen oder löschen.
  • Reverse Proxy: Wenn Sie keinen Reverse Proxy verwenden, sollten Sie HTTP auf HTTPS umleiten.