I got my mailcow up and running
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3657c1be5604 ghcr.io/mailcow/nginx:1.03 "/docker-entrypoint.…" 4 hours ago Up 2 hours 80/tcp, 127.0.0.1:50201-50202->50201-50202/tcp mailcowdockerized-nginx-mailcow-1
1162d03fcd6b ghcr.io/mailcow/dovecot:2.34 "/docker-entrypoint.…" 4 hours ago Up 4 hours 0.0.0.0:110->110/tcp, [::]:110->110/tcp, 0.0.0.0:143->143/tcp, [::]:143->143/tcp, 0.0.0.0:993->993/tcp, [::]:993->993/tcp, 0.0.0.0:995->995/tcp, [::]:995->995/tcp, 0.0.0.0:4190->4190/tcp, [::]:4190->4190/tcp, 127.0.0.1:19991->12345/tcp mailcowdockerized-dovecot-mailcow-1
a7ff70b37df1 ghcr.io/mailcow/postfix:1.80 "/docker-entrypoint.…" 4 hours ago Up 4 hours 0.0.0.0:25->25/tcp, [::]:25->25/tcp, 0.0.0.0:465->465/tcp, [::]:465->465/tcp, 0.0.0.0:587->587/tcp, [::]:587->587/tcp, 588/tcp mailcowdockerized-postfix-mailcow-1
f2f6c43a0fd0 robbertkl/ipv6nat "/docker-ipv6nat-com…" 4 hours ago Up 4 hours mailcowdockerized-ipv6nat-mailcow-1
04eb779624b8 ghcr.io/mailcow/watchdog:2.08 "/watchdog.sh" 4 hours ago Up 4 hours mailcowdockerized-watchdog-mailcow-1
3abdf88b797c ghcr.io/mailcow/acme:1.93 "/sbin/tini -g -- /s…" 4 hours ago Up 4 hours mailcowdockerized-acme-mailcow-1
2bcfdf06daaf mcuadros/ofelia:latest "/usr/bin/ofelia dae…" 4 hours ago Up 4 hours mailcowdockerized-ofelia-mailcow-1
d3f6f9d98239 ghcr.io/mailcow/rspamd:2.2 "/docker-entrypoint.…" 4 hours ago Up 4 hours mailcowdockerized-rspamd-mailcow-1
80dd1fa690ac ghcr.io/mailcow/phpfpm:1.93 "/docker-entrypoint.…" 4 hours ago Up 4 hours 9000/tcp mailcowdockerized-php-fpm-mailcow-1
f3c9cd3ed250 redis:7.4.2-alpine "/bin/sh /redis-conf…" 4 hours ago Up 4 hours 127.0.0.1:7654->6379/tcp mailcowdockerized-redis-mailcow-1
29b80b39869c mariadb:10.11 "docker-entrypoint.s…" 4 hours ago Up 4 hours 127.0.0.1:13306->3306/tcp mailcowdockerized-mysql-mailcow-1
a83146c2dd4c ghcr.io/mailcow/clamd:1.70 "/sbin/tini -g -- /c…" 4 hours ago Up 4 hours (healthy) mailcowdockerized-clamd-mailcow-1
74818b70c4a0 ghcr.io/mailcow/sogo:1.133 "/docker-entrypoint.…" 4 hours ago Up 2 hours mailcowdockerized-sogo-mailcow-1
1dba745edaed ghcr.io/mailcow/unbound:1.24 "/docker-entrypoint.…" 4 hours ago Up 4 hours (healthy) 53/tcp, 53/udp mailcowdockerized-unbound-mailcow-1
62cabc1b9787 memcached:alpine "docker-entrypoint.s…" 4 hours ago Up 4 hours 11211/tcp mailcowdockerized-memcached-mailcow-1
2a86e2fc132a ghcr.io/mailcow/dockerapi:2.11 "/bin/sh /app/docker…" 4 hours ago Up 4 hours mailcowdockerized-dockerapi-mailcow-1
6c82cc4de9c8 ghcr.io/mailcow/olefy:1.15 "python3 -u /app/ole…" 4 hours ago Up 4 hours mailcowdockerized-olefy-mailcow-1
95ec98b570c2 ghcr.io/mailcow/netfilter:1.61 "/bin/sh -c /app/doc…" 4 hours ago Up 4 hours mailcowdockerized-netfilter-mailcow-1
and my NGINX is configured:
`upstream mailcow {
server 127.0.0.1:50201;
keepalive 64;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
listen [::]:80;
server_name mail.XXXX.dev autodiscover.XXXX.dev autoconfig.XXXX.dev;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
listen 443 quic;
listen [::]:443 quic;
http2 on;
server_name mail.XXXX.dev autodiscover.XXXX.dev autoconfig.XXXX.dev;
ssl_certificate /etc/nginx/ssl/XXXX.dev.crt;
ssl_certificate_key /etc/nginx/ssl/XXXX.dev.key;
ssl_trusted_certificate /etc/nginx/ssl/XXXX.dev.ca.pem;
#add_header Alt-Svc 'h3=":443"; ma=86400' always;
#ssl_early_data on;
#if ($reject_early) { return 425; }
#add_header Early-Data $ssl_early_data always;
# --- Gemeinsame Proxy-Header ---
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Forwarded "proto=https;host=$host";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# Cookies und XHR-Header unverändert weiterreichen
proxy_set_header Cookie $http_cookie;
proxy_set_header X-Requested-With $http_x_requested_with;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
# Keine Zwischenpufferung (hilft bei Streams/WebSockets/large uploads)
proxy_request_buffering off;
proxy_buffering off;
proxy_max_temp_file_size 0;
more_clear_headers 'Server';
more_clear_headers 'X-Powered-By';
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
client_max_body_size 128m;
client_body_timeout 3600s;
send_timeout 3600s;
# --- API/PHP gezielt matchen: kein Caching, Session muss mit ---
location ^~ /api/ {
proxy_no_cache 1;
add_header Cache-Control "no-store" always;
proxy_pass http://mailcow;
}
location = /json_api.php {
proxy_no_cache 1;
add_header Cache-Control "no-store" always;
proxy_pass http://mailcow;
}
# SOGo + ActiveSync
location ^~ /SOGo {
proxy_pass http://mailcow;
}
location = /Microsoft-Server-ActiveSync {
proxy_pass http://mailcow;
}
# Autodiscover
location ^~ /autodiscover {
proxy_pass http://mailcow;
}
location = /Autodiscover/Autodiscover.xml {
proxy_pass http://mailcow;
}
# Statische Assets: cachen erlaubt
location ~* \.(?:css|js|mjs|svg|ico|gif|png|jpg|jpeg|webp|woff2?)$ {
proxy_pass http://mailcow;
expires 7d;
add_header Cache-Control "public, max-age=604800, immutable";
}
# Fallback: alles andere an Mailcow
location / {
proxy_pass http://mailcow;
}
error_log /var/log/nginx/mailcow.error.log warn;
}
`
I can connect to the front webpanel and login no problem there. But as soon as I move to
https://mail.XXXXX.dev/admin/mailbox
I get the following popup error:
DataTables warning: table id=domain_table - Ajax error. For more information about this error, please see http://datatables.net/tn/7
and in the developer tools I see

if I do a curl on my server I get:
`superadmin@jens-srv-001:/opt/mailcow-dockerized$ curl -sSik “https://mail.XXXXX.dev/api/v1/get/domain/datatables?draw=1” -H “Cookie: PHPSESSID=XXXXXXXXXXXXXXXXXXX” -H “Referer: https://mail.XXXXX.dev/admin/mailbox”
HTTP/2 200
date: Fri, 15 Aug 2025 12:04:25 GMT
content-type: application/json
vary: Accept-Encoding
vary: Accept-Encoding
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
access-control-allow-origin: mail.XXXXX.dev
access-control-allow-methods: GET, POST, PUT, DELETE, OPTION, OPTIONS
access-control-allow-headers: Accept, Content-Type, X-Api-Key, Origin
strict-transport-security: max-age=15768000;
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
x-robots-tag: none
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
referrer-policy: strict-origin
cache-control: no-store
{
“draw”: 1,
“recordsTotal”: 1,
“recordsFiltered”: 1,
“data”: [
{
“max_new_mailbox_quota”: 10737418240,
“def_new_mailbox_quota”: 3221225472,
“quota_used_in_domain”: “0”,
“bytes_total”: 0,
“msgs_total”: 0,
“mboxes_in_domain”: 0,
“mboxes_left”: 1024,
“domain_name”: “XXXXX.dev”,
“domain_h_name”: “XXXXX.dev”,
“description”: “Hauptdomäne von XXXXX”,
“max_num_aliases_for_domain”: 400,
“max_num_mboxes_for_domain”: 1024,
“def_quota_for_mbox”: 3221225472,
“max_quota_for_mbox”: 10737418240,
“max_quota_for_domain”: 10737418240,
“relayhost”: “0”,
“backupmx”: 0,
“backupmx_int”: 0,
“gal”: 1,
“gal_int”: 1,
“rl”: false,
“active”: 1,
“active_int”: 1,
“relay_all_recipients”: 0,
“relay_all_recipients_int”: 0,
“relay_unknown_only”: 0,
“relay_unknown_only_int”: 0,
“created”: “2025-08-15 12:20:27”,
“modified”: null,
“aliases_in_domain”: 0,
“aliases_left”: 400,
“domain_admins”: “-”
}
]
}`
What is my problem here? I got to add the domain but I can’t see anything.
Here the specs of my system
NGINX 1.29
OpenSSL 3.5.2
Mailcow: Version 2025-07

I hope you can help me with this. If you need further information please let me know.
with kind regards
Jens Humke
No problem, after a bit more retracing I found that there were some wrong settings in my WAF. Sorry
No problem, after a bit more retracing I found that there were some wrong settings in my WAF. Sorry