nginx-proxy-manager: [Solved?] After update from 2.9.19 to 2.10.4, "Bad gateway" on local port 81 login screen, but sites keep functioning
Checklist
- Have you pulled and found the error with
jc21/nginx-proxy-manager:latestdocker image?- Yes
- Are you sure you’re not using someone else’s docker image?
- Yes
- Have you searched for similar issues (both open and closed)?
- Yes
Describe the bug
I’m not much into docker yet but I succeeded to install NPM 2.9.19 a few months ago and now realized I must make manual updates. So I logged into my Proxmox LXC container and did a docker-compose pull, which apparently brought me to v2.10.4 (shown on port 81 local login screen).
But now on every login attempt, I get a little red “Bad gateway” shown on the login screen and cannot administer my hosts anymore! For the time being, I reverted to my full LXC backup and went back to 2.9.19, which works fine.
docker ps shows I’m running jc21/mariadb-aria:latest and jc21/nginx-proxy-manager:latest.
I don’t know how to diagnose this, or where the logs are kept, help urgently needed.
Nginx Proxy Manager Version
2.10.4
To Reproduce Steps to reproduce the behavior:
- Log into LXC using
ssh. docker-compose pull,docker-compose down,docker-compose up -d- Sites keep functioning.
- Port 81 login screen shows 2.10.4 and “Bad Gateway” upon login attempt.
Expected behavior
Local admin login working.
Screenshots
Operating System
Proxmox 7.4, unprivileged Ubuntu 22.04.3 LTS LXC
Additional context
Commands used to update:
root@proxy:/home/admin/npm# docker-compose pull
Pulling app ... done
Pulling db ... done
root@proxy:/home/admin/npm# docker-compose down
Stopping npm-db-1 ... done
Stopping npm-app-1 ... done
Removing npm-db-1 ... done
Removing npm-app-1 ... done
Removing network npm_default
root@proxy:/home/admin/npm# docker-compose up -d
Creating network "npm_default" with the default driver
Creating npm_db_1 ... done
Creating npm_app_1 ... done
root@proxy:/home/admin/npm#
Docker version:
Client: Docker Engine - Community
Version: 24.0.6
API version: 1.43
Go version: go1.20.7
Git commit: ed223bc
Built: Mon Sep 4 12:31:44 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 24.0.6
API version: 1.43 (minimum version 1.12)
Go version: go1.20.7
Git commit: 1a79695
Built: Mon Sep 4 12:31:44 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.24
GitCommit: 61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
runc:
Version: 1.1.9
GitCommit: v1.1.9-0-gccaecfc
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker ps output:
root@proxy:/home/admin/npm# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6557ba6f70d7 jc21/nginx-proxy-manager:latest "/init" 4 minutes ago Up 3 minutes 0.0.0.0:70->70/tcp, :::70->70/tcp, 0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:2022->2022/tcp, :::2022->2022/tcp, 0.0.0.0:3478->3478/tcp, :::3478->3478/tcp, 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp, 0.0.0.0:5222->5222/tcp, :::5222->5222/tcp, 0.0.0.0:5269->5269/tcp, :::5269->5269/tcp, 0.0.0.0:5280-5281->5280-5281/tcp, :::5280-5281->5280-5281/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:8005-8006->8005-8006/tcp, :::8005-8006->8005-8006/tcp, 0.0.0.0:8010->8010/tcp, :::8010->8010/tcp, 0.0.0.0:8015-8016->8015-8016/tcp, :::8015-8016->8015-8016/tcp, 0.0.0.0:8883->8883/tcp, :::8883->8883/tcp npm_app_1
3f9778d06a3f jc21/mariadb-aria:latest "/scripts/run.sh" 4 minutes ago Up 3 minutes 3306/tcp npm_db_1
docker-compose.yml
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "(PASSWORD)"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: '(PASSWORD)'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: '(PASSWORD)'
volumes:
- ./data/mysql:/var/lib/mysql
docker-compose.override.yml
root@proxy:/home/admin/npm# cat docker-compose.override.yml
# Add some radio ports to be handled by NGINX Proxy Manager.
# These will be forwarded as "streams" in NPM.
# Needs MyFritz-Freigabe to this proxy server!
services:
app:
ports:
# BLOG
- '70:70' # gopher
# RADIO
- '2022:2022' # SFTP
# 8000 is in use by portainer, can't be bound here!
- '8000:8000' # station 1 - listen
- '8005:8005' # station 1 - DJ Stream Icecast
- '8006:8006' # station 1 - DJ Stream Shoutcast
- '8010:8010' # station 2 - listen
- '8015:8015' # station 2 - DJ Stream Icecast
- '8016:8016' # station 2 - DJ Stream Shoutcast
# HOME ASSISTANT
- '8883:8883' # HA MQTT
# NEXTCLOUD
- '3478:3478' # NextCloud Talk (TCP & UDP)
# CHAT1 (Prosody)
- '5000:5000' # Prosody file transfer proxy
- '5222:5222' # Prosody client connections
- '5269:5269' # Prosody server-to-server connections
- '5280:5280' # Prosody HTTP
- '5281:5281' # Prosody HTTPS
About this issue
- Original URL
- State: open
- Created 9 months ago
- Comments: 37
I’m experiencing the same problem but I’m using database.sqlite file, not MySQL. Any idea how to fix it in that case?
Attaching my composo below
This! This really is the only way to make it running again if you are using SQLite like me. Use the image
jc21/nginx-proxy-manager:2.10.4, until the developers get it to work again with a newer version.Ah, I think I managed! I read in some other issue that due to ownership problems the MariaDB and NPM persistent volumes must be separate, so I moved my
mysqlfolder out of thedatafolder into a separate folder.Before
After
These were the steps I did in the console:
Edit
docker-compose.yml(change db persistent volume)Continue in console
Result
I can now log in again using the local address and port 81. No “Bad Gateway” anymore.
The
docker-compose logsshows no errors anymore:I leave this open for others to find (for now) and kindly ask the developers or someone more knowledgeable to confirm that what I did is correct.
After all, NPM is a critical part of the infrastructure and needs to be secure and updatable.
Thanks for giving us this great piece of software!
When creating a new database, existing sites remain! But it is impossible to control them! You need to understand why after the update proxy-manager does not see the database. I hope the developers will fix this. So far I had to roll back from 2.11.0 to 2.10.4
Same here. Just upgraded npm to 2.11.0 from 2.10.4 and got hit by the Bad gateway-message - again. Luckily I had a snapshot of the vm running portainer and npm.
Also, moving database.sqlite up a level from data/ gives me a “no user related content” or some such at the login screen.
Checking the logs after starting up npm 2.11.0, the log output stops after [Migrate ].
With npm 2.10.4 it continues with logrotate, ssl renewals etc.
I got the same problem and I solved this by executing
chmod 777 database.sqliteI tried to do this. It didn’t work for me! Rolled back.
Doesn’t work
Thanks @jc21! NPM release 2.11.1 solved the bad gateway issue for me.
For posterity, I use this docker-compose.yml, with sqlite as the database:
And this is my upgrade-script:
Experiencing the same issue, attempted a bunch of fixes but nothing worked. Also in the reverted back to 2.10.4 camp till a patch is released, it works fine with that so just gonna chill there. Appreciate all you do jc21+contributors
Same issue here. Had to roll back to 2.10.4. Also removed NODE_OPTIONS --openssl-legacy-provider from ENV otherwise backend did not start
if you copy the old DB over the the new NGINX it will work. Just dont change any settings until its fixed
Same here with sqlite
How to address this if one is using database.sqlite?
Thanks a lot for sharing. It worked for me
🙏