Docker install live url not working

Hi everyone, I’m self hosting docker on Vultr, following the instructions here:

https://docs.mattermost.com/install/install-docker.html
Deploy Mattermost on Docker for production use

I’m in “System Console” > “Workspace optimization” and it tells me that the live url is not working. So far I’ve opened the firewall ports on Vultr side, and did sudo ufw allow 8065, but it’s still not working. I’m quite new to docker, so I’m wondering if there’s something I need to edit in “docker-compose.nginx.yml”, or some other docker config that I’ve missed out.

Currently the webapp seems to be working and accessible, so what does the opening the live url do?

Hey,

if you used the docker-with-nginx.yml file, then the only port that needs to be open from the internet is tcp/443 (and udp/8443 if you also want to use the calls plugin). Port 8065 is only used internally from the nginx docker container to the mattermost application container and does not need to be whitelisted on the firewall.

The check for the live URL is conducted from within the application container - it could be that the container is unable to resolve the hostname or connect to the public IP of the server hosting the containers.

Does the last line in your .env file (MM_SERVICESETTINGS_SITEURL) point to the correct URL for accessing the server from the outside? if so, you could try to enter the container and try to connect yourself in order to check that:

docker exec -it <mattermost-container-id> /bin/bash
curl $MM_SERVICESETTINGS_SITEURL

Hi @agriesser, thank you for responding! I used docker-compose.nginx.yml

I tried out what you said and it timed out, I’m a bit surprised as well. I can curl google.com without any issues though.

I must be doing something wrongly. My DOMAIN is subdomain.mydomain.com and I created an A name to map the subdomain.mydomain.com to the vultr ipv4 ip.

Any ideas where I should start on trying to fix this?

I’m not familiar with the vultr setup, sorry - but these kind of problems usually relate to so-called hairpin or uturn configurations, that is when you try to connect from the inside of a server to its outside IP.

Is the public IP the domain points to directly available on your server or is there any kind of public firewall or NAT in front of it? You can check if you have the IP directly by using the command ip a on the console of your linux host, if you can see the public IP your subdomain.mydomain.com points to, it means yes.

Next thing you can try is to connect to the public IP directly on the linux host (not from inside the docker container) - does this work?