The next GUIDE to install NGINX-PROXY-MANAGER and not having bad gateway database issues

Before reading: the main reason why this nginx-proxy-manager was not running in my environment was the fact that I was running my Linux version as LXC under Proxmox and not as a VM under proxmox. After failing a 2nd time with exact the same config files what was working I noticed that I was using LXC and that the Proton VM was actually a VM, by changing it to a normal Debian VM I was able to get a working version fast again.

This is also probably the reason that Portainer was not able to start the database as well. So in the end: using a VM ..


I was reading:
another website that was telling me how to install nginx-proxy-manager. But I failed. I kept getting ‘ bad gateway’ and if you read the github posts about this issue you will not understand why all is failing.

So yes, I did install proton VM, a sucking virtual machine under my proxmox as it was used by the guy from that other website. As docker is available I had to start it during boot. Those guidelines were described fine. But installing my own mysql or mariadb was failing time after time. Especially as mariadb or mysql was not having a root password. So I failed. Buy why?

So in the end (lucky I had a snapshot, so that I could go back when messing some things really bad up. I restarted the machine and thought about what I read on another website: nginx-proxy-manager is ‘now’¬† providing a mysql instance itself. AHA .. so if that is true than I have to forget all info about previous own installed docker stuff with databases. So i removed those failures from the system.

I checked the website of nginx-proxy-manager and thought: let start over ..

In the end to make this story short

I made sure the server pointed to “host”: “”, in the config.json

make sure there is a config.json
place this config.json where you use the ‘docker-compose up -d’
I did it in /home/nginx-proxy-manager/

And probably here is the catch as the default example is telling

 # Make sure this config.json file exists as per instructions above:
      - ./config.json:/app/config/production.json

the /app/config/production.json is a location where you did not put your own config.json. So this part is totally wrong. So the config.json with your database settings can never be found, so you get issues, but the ‘ make sure this config.json exisist as per instructions above ‘ gave me no clue, cause what is stated above?

So I tried what I did before in the docker-compose.yml I changed the location of my config.json to


now I restarted the docker container again but I made an error the container was started with docker-compose up without the -d (DAEMON) … so I got output in my screen and suddenly I saw that there was a connection to the database but my password was not accepted.

I made sure I shut down the docker container again, removed the contents from the directories and restarted it again .. YEAAAHHH .. finally .. it was working

In short, 2 things to notice

config.json: change¬† the host part to: “host”: “”,
in the docker-compose.yml pinpoint the config.json to the actual location on your HDD wher you put it.

Now start with ie. docker-compose up -d

have fun

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.