I want to deploy mattermost with docker compose, I have nginx proxy manager with ssh ready
what should I do?
can I change the listening port to 443?
I must change “Connection Security” to TLS? or it handled by npm?
Can you please help me to run the service?
Hi @farhaadn ,
If you want to use an external nginx, you can do so by using the following
yml files to start the Mattermost docker environment:
docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
The listening port should be left untouched, the application will listen on port 8065 then and it will be unencrypted.
The nginx proxy manager then needs to connect to the Mattermost backend, which should then be available on http://localhost:8065 and by accessing the service through your nginx proxy manager, you will then also have the encryption and public IP active.
Thank you for your reply,
How can use HTTPS and what is the port?
look at the below picture pls, this is what I configure in NPM
172.16.3.5 is the host IP that the container runs on it, how can I forward it to HTTPS?
When I switched Scheme to http, and I enter chat.test.net everything is ok, but when switched to https, not working
nginx proxy manager does the SSL, the Mattermost backend does not need https, so change the scheme to http and you’re all good.
The connection looks like this then:
internet user → nginx proxy manager (on port 443, ssl encrypted) → mattermost container (on port 8065, no encryption)
So, why browser tell me the website is not secure?
Most likely because your
MM_SERVICESETTINGS_SITEURL in the docker deployment’s
.env file points to the http URL. You need to make sure that the
SiteUrl Mattermost sees (it uses it for generating links to static resources, f.ex.) points to the URL the users access, so although the Mattermost application server is not running on https://chat.test.net but on http://localhost:8065, the
SiteUrl needs to be set to
oh it was my fault, site not redirect to https, so I put https in the first and everything is good now
so how can I enable “Forward port 80 to 443:” with these configurations you mentioned above? or another way to redirect http to https
You would do the redirect from 80 to 443 in your nginx proxy manager but I think you already found that out now
Yes, I found it
Thank you so much