How to configure the webserver when installed with docker compose?

Infos:

  • Used Zammad version: 6.1.0
  • Used Zammad installation type: docker-compose
  • Operating system: ununtu 22.04
  • Browser + version:

Expected behavior:

  • Install Zammad with docker compose should be possible by following the docs.

Actual behavior:

  • I can’t follow the installation tutorial for docker compose on the point, where the SSL part starts. I want to use letsencrypt. But the docker container for nginx has no certbot installed, nor acme.sh. And I can’t install them inside the container, because it has no sudo.

Steps to reproduce the behavior:

My approach

Maybe I get it wrong by trying to work from inside the nginx container? I found the zammad_ssl.conf and read that I have to use it in place of zammad.conf. There I can set my domain. But the part for obtaining the certificate and running certbot is not well explained in the docs. Actually certbot is missing, to start with.

I don’t know, if this is a problem, but in my nginx container, zammad.conf is under ~/contrib/nginx, and not where this reply suggests. There is also /etc/nginx/sites-available/default, which maybe the active nginx config and the above are just samples? But which one I have to use. And do I have to set the servername already as environment variable for docker compose?

1 Like

You’re not forced to use the nginx of Zammad. As long as the nginx in question is actually able to connect to Zammads ports.

A starter would be to look into the vhost configuration of your compose. The default compose version should allow you to have another proxy in front theoretically. But that’s double the trouble if you’re unlucky so…

i set the extenal nginx conf to reverse the port 8080 ; but now i met a problem which is zammad can’t get the true IP from session , Now the ip is docker ip .

I’m struggling with the same problem. Is it safe to say then that we can’t have SSL with letsencrypt/certbot if we’re using the stock Zammad docker-compose?