Linux with Docker CE
Windows 10 Pro, Enterprise or Education with Docker for Windows
Windows with Docker Toolbox
Mac with Docker for Mac
We provide a docker-compose configuration:
It will run 4 containers:
NGINX as Reverse Proxy to support HTTPS
NGINX sidecar to provision free and secure certificates with LetsEncrypt.
Download the following files to your server:
.env file and set the following variables:
Your domain name, e.g. we use
The email address of the admin user.
The password of the admin user. Must contain a lowercase and uppercase letter, a number and a special character. Leaked passwords are also forbidden, check https://haveibeenpwned.com/Passwords first.
Keep it unchanged. You can set it to false to disable permanent redirects from http to https.
Keep it unchanged. You can set it to http to disable secure connections.
You can keep the other settings empty for now.
The data will be stored outside of the docker container to simplify the backups. Create the folder with
sudo mkdir /var/mongo/db
docker-compose up -d
Please check the logs first using docker.
docker ps # Get the container id firstdocker logs <CONTAINER-ID> # Read the logs
In my tests it took sometime to issue the certificate. Probably around 10 minutes.
Also ensure that your DNS server is configured correctly.
In some cases, especially on CentOS 7, the communication between docker containers on the same host is blocked by the firewall. There is an open issue on Github for this problem.
The solution that worked in our cases was to add https as a service to the firewall:
sudo firewall-cmd --add-service=https --permanent --zone=trustedsudo firewall-cmd --reload
It is very likely a configuration problem and not related to hosting under Docker. Checkout