NginxProxyManager / nginx-proxy-manager

Docker container for managing Nginx proxy hosts with a simple, powerful interface
https://nginxproxymanager.com
MIT License
20.85k stars 2.42k forks source link

Updating system gives me a clean database, all data lost. #3070

Open MarkLFT opened 11 months ago

MarkLFT commented 11 months ago

I am trying to update my npm installation. I currently have version 2.9.19 with MariaDB version. 10.4.12.

I used docker-compose down docker-compose pull -- for the database it says error, then app pulls the latest version. docker-compose up -- I can see it is trying to migrate the database, and it creates a new admin account.

When I try to login using my previous admin account it says not found, if I log in with the newly created account, I get in, but all my hosts and streams are gone.

How can I update my installation with losing all my data?

vodjan commented 11 months ago

Same issue here, currently on NPM v2.10.3 and MariaDB-Aria 3.12.0.

I can no longer log into NPM with my previous account info, but I can log in using the default credentials and none of my configs show up when I do. All of my reverse proxies still function just fine even though they aren't visible in the web GUI.

The DB runs in a separate container, both are configured with one compose file. No other container uses this DB instance. I manage both through Portainer, where I update via recreating the containers while pulling the latest image. I have been doing this for at least a year and a half and never had an issue.

I can't pinpoint which exact update caused this because I've only been checking NPM functionality by connecting to the reverse proxies for some time now, and they still work fine.

farhan-tariq commented 11 months ago

Why not have a separate docker-compose.yml file specific for running a database. Might run into docker network issue but they are resolvable as you can make the database and npm be on the same network.

So when you will do docker-compose down, it will not bring the database down. The issue might be that the data is not getting persisted on your host OS

MarkLFT commented 11 months ago

Why not have a separate docker-compose.yml file specific for running a database. Might run into docker network issue but they are resolvable as you can make the database and npm be on the same network.

So when you will do docker-compose down, it will not bring the database down. The issue might be that the data is not getting persisted on your host OS

I am not sure I understand th point you are making. The docker compose is as per recommended by the development team, and the issue has nothing to do with the database server running or not, it is more to do with the database data appears to get lost during the update.

vodjan commented 11 months ago

Why not have a separate docker-compose.yml file specific for running a database.

I doubt that makes a difference here.

The issue might be that the data is not getting persisted on your host OS

Well for me it's definitely getting persisted in some way, because as I said the configuration continues to work after both docker-compose down and machine reboots. I just can't see it in the UI and my account got lost.

github-actions[bot] commented 3 months ago

Issue is now considered stale. If you want to keep it open, please comment :+1:

GloriousGloria23 commented 1 month ago

yep, same here... interestingly, i find a populated database.sqlite in the docker container compose folder... but npm is not accessing it... anyone has an idea how to repopulate it?\