πŸ„ mailcow β€’ 🐳 Docker β€’ ☁️ CloudPanel

Mailcow op
CloudPanel

Een praktische, moderne installatiehandleiding voor je eigen mailserver. Van een lege VPS tot een werkende mailomgeving.

πŸ„
01

VPS voorbereiden

Begin met een schone, ondersteunde Linux VPS.

πŸ’Ύ ResourcesControleer vooraf RAM, swap en opslag volgens de actuele mailcow-documentatie.
🌐 HostnameGebruik bijvoorbeeld mail.jouwdomein.nl.
πŸ”’ PoortenZorg dat de benodigde mail- en webpoorten niet door je firewall worden geblokkeerd.
⚠️ Geen andere mailserverPostfix/Exim of een andere maildienst mag niet met mailcow concurreren.
Belangrijk: mailcow draait in Docker. Gebruik bij voorkeur een volledige VM/VPS, geen LXC/OpenVZ-container. Controleer ook altijd de actuele mailcow prerequisites.
02

Docker installeren

Op Debian/Ubuntu kun je Docker via de officiΓ«le methode installeren.

apt update
apt install -y git openssl curl gawk coreutils grep jq

curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker

apt install -y docker-compose-plugin

docker --version
docker compose version
Gebruik bij voorkeur een recente Docker Engine en Docker Compose 2.x. De actuele mailcow-documentatie noemt Docker >= 24 en Compose >= 2.0.
03

Mailcow downloaden

We plaatsen mailcow onder /opt.

cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

./generate_config.sh

πŸ„ Wat gebeurt hier?

De configuraties worden gegenereerd en daarna kun je mailcow.conf aanpassen. Tijdens generate_config.sh geef je onder andere de hostname van je mailserver en de tijdzone op.

04

Mailcow configureren

Open de configuratie en pas hem aan voor CloudPanel.

cd /opt/mailcow-dockerized
nano mailcow.conf

πŸ”€ Reverse proxy-poorten

Omdat CloudPanel/NGINX de webkant kan afhandelen, bind je de mailcow-webpoorten lokaal. Voorbeeld:

HTTP_BIND=127.0.0.1
HTTP_PORT=7080

HTTPS_BIND=127.0.0.1
HTTPS_PORT=7443
Let op: gebruik geen willekeurige poort uit voorbeelden van oude handleidingen. De actuele mailcow reverse-proxy documentatie waarschuwt expliciet tegen 8081, 9081 en 65510.
05

CloudPanel als reverse proxy

CloudPanel ontvangt HTTPS en stuurt de webverzoeken door naar mailcow.

🌍
Internet
β†’
☁️
CloudPanel / NGINX
β†’
🐳
Mailcow

In CloudPanel

  1. Ga naar Sites.
  2. Maak een Reverse Proxy voor je maildomein.
  3. Gebruik bijvoorbeeld https://127.0.0.1:7443 als backend wanneer je mailcow op HTTPS bindt.
  4. Configureer SSL/TLS voor je domein in CloudPanel.
De exacte CloudPanel-velden kunnen per CloudPanel-versie verschillen. CloudPanel biedt een Reverse Proxy-site en een Vhost Editor voor NGINX.
06

DNS instellen

Een goede DNS-configuratie is essentieel voor mailaflevering.

TypeNaamVoorbeeldDoel
Amailmail.jouwdomein.nl β†’ VPS-IPMailserver bereikbaar maken
MX@mail.jouwdomein.nlInkomende mail
TXT@SPF-recordSPF
TXT_dmarcDMARC-recordDMARC
PTRVPS-IPmail.jouwdomein.nlReverse DNS
TXTDKIMDoor mailcow gegenereerdDKIM
Tip: stel de PTR/reverse DNS in bij je VPS-provider. Het record moet normaal naar dezelfde mailhostname wijzen die je gebruikt.
07

Mailcow starten

Nu kunnen de Docker-images worden gedownload en gestart.

cd /opt/mailcow-dockerized

docker compose pull
docker compose up -d

docker compose ps
Gelukt? Als de containers draaien, kun je de webinterface openen via je mailhostname.
08

Controle & eerste mailbox

Loop deze checklist rustig af.

Beveiliging: gebruik nooit een standaard wachtwoord in productie. Controleer ook je firewall, updates, backups en mailcow-documentatie voordat je de server live gebruikt.

πŸŽ‰ Klaar!

Je hebt nu een basisroute van een lege VPS naar mailcow achter CloudPanel. Voor productie zijn vooral DNS, PTR, firewall, TLS, spam/reputatie en backups belangrijk.

Deze handleiding is gebaseerd op de actuele officiΓ«le mailcow- en CloudPanel-documentatie; controleer die documentatie opnieuw bij toekomstige updates.