Hi again π
I run mailcow behind a Traefik v2 reverse proxy and followed the documentation on that.
Here is my docker-compose.override.yml
version: '2.1'
services:
nginx-mailcow:
labels:
- "traefik.hhtp.routers.nginx-mailcow.rule=Host(`${MAILCOW_HOSTNAME}`)" ## equals mail.domain.com
- "traefik.http.routers.nginx-mailcow.tls=true"
- "traefik.http.routers.nginx-mailcow.tls.certresolver=le"
- "traefik.http.routers.nginx-mailcow.entrypoints=https"
- "traefik.http.services.nginx-mailcow.loadbalancer.server.port=80"
networks:
external:
certdumper:
image: humenius/traefik-certs-dumper
container_name: traefik_certdumper
network_mode: none
command: --restart-containers mailcowdockerized_postfix-mailcow_1,mailcowdockerized_dovecot-mailcow_1
volumes:
# mount the folder which contains Traefik's `acme.json' file
# in this case Traefik is started from its own docker-compose in ../traefik
- ${DOCKERDIR}/traefik/letsencrypt:/traefik:ro
# mount mailcow's SSL folder
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/assets/ssl:/output:rw
environment:
# only change this, if you're using another domain for mailcow's web frontend compared to the standard config
- DOMAIN=${MAILCOW_HOSTNAME} ## equals mail.domain.com
networks:
external:
external: true
When I start the whole stack, I get
traefik_certdumper | mv: can't rename '/tmp/work//mail.domain.com/*.pem': No such file or directory
and then traefik_certdumper
restarts the containers, but doesnβt give it the right certs.
My traefik log is
time="2020-05-14T11:46:38Z" level=debug msg="Provider event received {Status:die ID:d521a4c7187c3b8c7f85a58cc1cca1d8e1b8355dd5d7c5fa09f7d9977d180873 From:nginx:mainline-alpine Type:container Action:die Actor:{ID:d521a4c7187c3b8c7f85a58cc1cca1d8e1b8355dd5d7c5fa09f7d9977d180873 Attributes:map[com.docker.compose.config-hash:c2086658bdb0fba295d3573b73596a1708982db2fab1ca30bed29654bed7338e com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:mailcowdockerized com.docker.compose.project.config_files:docker-compose.yml,docker-compose.override.yml com.docker.compose.project.working_dir:/srv/http/docker/mailcow com.docker.compose.service:nginx-mailcow com.docker.compose.version:1.25.5 exitCode:0 image:nginx:mainline-alpine maintainer:NGINX Docker Maintainers <docker-maint@nginx.com> name:mailcowdockerized_nginx-mailcow_1 traefik.hhtp.routers.nginx-mailcow.rule:Host(`mail.domain.com`) traefik.http.routers.nginx-mailcow.entrypoints:https traefik.http.routers.nginx-mailcow.tls:true traefik.http.routers.nginx-mailcow.tls.certresolver:le traefik.http.services.nginx-mailcow.loadbalancer.server.port:80]} Scope:local Time:1589456796 TimeNano:1589456796658751954}" providerName=docker
time="2020-05-14T12:44:21Z" level=debug msg="Provider event received {Status:start ID:91202a77fe9ddeeba4fb333008c0932019c0161b209d840e52792869dc0cbc59 From:nginx:mainline-alpine Type:container Action:start Actor:{ID:91202a77fe9ddeeba4fb333008c0932019c0161b209d840e52792869dc0cbc59 Attributes:map[com.docker.compose.config-hash:c2086658bdb0fba295d3573b73596a1708982db2fab1ca30bed29654bed7338e com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:mailcowdockerized com.docker.compose.project.config_files:docker-compose.yml,docker-compose.override.yml com.docker.compose.project.working_dir:/srv/http/docker/mailcow com.docker.compose.service:nginx-mailcow com.docker.compose.version:1.25.5 image:nginx:mainline-alpine maintainer:NGINX Docker Maintainers <docker-maint@nginx.com> name:mailcowdockerized_nginx-mailcow_1 traefik.hhtp.routers.nginx-mailcow.rule:Host(`mail.domain.com`) traefik.http.routers.nginx-mailcow.entrypoints:https traefik.http.routers.nginx-mailcow.tls:true traefik.http.routers.nginx-mailcow.tls.certresolver:le traefik.http.services.nginx-mailcow.loadbalancer.server.port:80]} Scope:local Time:1589460261 TimeNano:1589460261303052059}" providerName=docker
time="2020-05-14T12:44:21Z" level=debug msg="Provider event received {Status:die ID:91202a77fe9ddeeba4fb333008c0932019c0161b209d840e52792869dc0cbc59 From:nginx:mainline-alpine Type:container Action:die Actor:{ID:91202a77fe9ddeeba4fb333008c0932019c0161b209d840e52792869dc0cbc59 Attributes:map[com.docker.compose.config-hash:c2086658bdb0fba295d3573b73596a1708982db2fab1ca30bed29654bed7338e com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:mailcowdockerized com.docker.compose.project.config_files:docker-compose.yml,docker-compose.override.yml com.docker.compose.project.working_dir:/srv/http/docker/mailcow com.docker.compose.service:nginx-mailcow com.docker.compose.version:1.25.5 exitCode:1 image:nginx:mainline-alpine maintainer:NGINX Docker Maintainers <docker-maint@nginx.com> name:mailcowdockerized_nginx-mailcow_1 traefik.hhtp.routers.nginx-mailcow.rule:Host(`mail.domain.com`) traefik.http.routers.nginx-mailcow.entrypoints:https traefik.http.routers.nginx-mailcow.tls:true traefik.http.routers.nginx-mailcow.tls.certresolver:le traefik.http.services.nginx-mailcow.loadbalancer.server.port:80]} Scope:local Time:1589460261 TimeNano:1589460261556225878}" providerName=docker
time="2020-05-14T12:44:23Z" level=debug msg="Provider event received {Status:start ID:91202a77fe9ddeeba4fb333008c0932019c0161b209d840e52792869dc0cbc59 From:nginx:mainline-alpine Type:container Action:start Actor:{ID:91202a77fe9ddeeba4fb333008c0932019c0161b209d840e52792869dc0cbc59 Attributes:map[com.docker.compose.config-hash:c2086658bdb0fba295d3573b73596a1708982db2fab1ca30bed29654bed7338e com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:mailcowdockerized com.docker.compose.project.config_files:docker-compose.yml,docker-compose.override.yml com.docker.compose.project.working_dir:/srv/http/docker/mailcow com.docker.compose.service:nginx-mailcow com.docker.compose.version:1.25.5 image:nginx:mainline-alpine maintainer:NGINX Docker Maintainers <docker-maint@nginx.com> name:mailcowdockerized_nginx-mailcow_1 traefik.hhtp.routers.nginx-mailcow.rule:Host(`mail.domain.com`) traefik.http.routers.nginx-mailcow.entrypoints:https traefik.http.routers.nginx-mailcow.tls:true traefik.http.routers.nginx-mailcow.tls.certresolver:le traefik.http.services.nginx-mailcow.loadbalancer.server.port:80]} Scope:local Time:1589460263 TimeNano:1589460263437446924}" providerName=docker
time="2020-05-14T12:46:45Z" level=debug msg="Serving default certificate for request: \"mail.domain.com\""
Can you spot my mistake(s)?