nginx-proxy-manager: n-p-m container doesn't come back up after docker service restart after updating to 2.10.0
Checklist
- Have you pulled and found the error with
jc21/nginx-proxy-manager:latest
docker 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
For years I have been backing up my rpi4 on which n-p-m runs with https://github.com/framps/raspiBackup and everything was fine. Before the backup I shut down docker service, then after backup restart it and all the containers came properly back up. After updating to 2.10.0 the container doesn’t start back up when docker service starts with the error in log below.
Nginx Proxy Manager Version
2.10.0
To Reproduce Steps to reproduce the behavior:
sudo systemctl stop docker
- run my backup
sudo systemctl start docker && sudo systemctl daemon-reload
(daemon-reload as the backup stops bunch of other services like cron and snmpd and they always complain about the daemon-reload when they come back up)- See error
Expected behavior
container should come back up as normal (all the others do)
Screenshots
n/a
Operating System
raspberry pi4 Linux pi-docker 6.1.19-v8+ #1637 SMP PREEMPT Tue Mar 14 11:11:47 GMT 2023 aarch64 GNU/Linux
Additional context
logs
:
nginx-proxy-manager_pi-docker | [3/28/2023] [8:25:01 AM] [SSL ] › ℹ info Renew Complete
nginx-proxy-manager_pi-docker | s6-rc: info: service legacy-services: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service legacy-services successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service nginx: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service frontend: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service backend: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service frontend successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service backend successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service nginx successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service prepare: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service prepare successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service legacy-cont-init: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service legacy-cont-init successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service fix-attrs: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service fix-attrs successfully stopped
nginx-proxy-manager_pi-docker | s6-rc: info: service s6rc-oneshot-runner: stopping
nginx-proxy-manager_pi-docker | s6-rc: info: service s6rc-oneshot-runner successfully stopped
nginx-proxy-manager_pi-docker | [3/28/2023] [8:30:52 AM] [Global ] › ℹ info PID 140 received SIGTERM
nginx-proxy-manager_pi-docker | [3/28/2023] [8:30:52 AM] [Global ] › ℹ info Stopping.
nginx-proxy-manager_pi-docker | s6-rc: info: service s6rc-oneshot-runner: starting
nginx-proxy-manager_pi-docker | s6-rc: info: service s6rc-oneshot-runner successfully started
nginx-proxy-manager_pi-docker | s6-rc: info: service fix-attrs: starting
nginx-proxy-manager_pi-docker | s6-rc: info: service fix-attrs successfully started
nginx-proxy-manager_pi-docker | s6-rc: info: service legacy-cont-init: starting
nginx-proxy-manager_pi-docker | s6-rc: info: service legacy-cont-init successfully started
nginx-proxy-manager_pi-docker | s6-rc: info: service prepare: starting
nginx-proxy-manager_pi-docker | s6-rc: fatal: timed out
nginx-proxy-manager_pi-docker | s6-sudoc: fatal: unable to get exit status from server: Operation timed out
nginx-proxy-manager_pi-docker | /run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
[root@docker-7bce5741f82f:/app]# cat /run/uncaught-logs/current
cat: /run/uncaught-logs/current: No such file or directory
docker-compose.yml
:
version: '3'
services:
nginx-proxy-manager:
container_name: nginx-proxy-manager_pi-docker
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '10080:80'
- '10081:81'
- '10443:443'
volumes:
- ./data_npm:/data
- ./letsencrypt:/etc/letsencrypt
restart: always
environment:
X_FRAME_OPTIONS: "sameorigin"
DB_SQLITE_FILE: "/data/database.sqlite"
TZ: "Europe/London"
PUID: "1000"
PGID: "1000"
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 8
- Comments: 39
Same here, 16 pages down for minimum 10h. Did you test it beofre release?
I had the same error, removing my PGID and PUID solved it for me
Hello again. I answer myself alone and by the way I leave the note in case someone else has the problem. Although it seemed untrue, the solution is to restart the docker several times until it finishes booting. It looks like a car in winter that doesn’t want to start at first.
This is the complete log of reboots and what it does at each boot.
@coalfield Don’t have time to look at it. But this (bind() to 0.0.0.0:80 failed (13: Permission denied)) issue seems to be discussed here with a reason and (temporary) solution: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2750#issuecomment-1488381509
@zandhaas Port mapping doesn’t relate to the issue, since it’s external to the container. This permission error became an issue because access to port 80 on the inside needs a root user in the current configuration. And I’m using a seperate non-root docker user for all of my containers.
New error, is it just me?
nginx: [warn] the “user” directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:4 nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
Weirdly the routes still (mostly) worked but the front-end was completely reset. I had no user accounts and it showed zero proxy hosts or streams even though they were in the back-end and routing correctly for the most part (Vikunja threw a hissy fit and I needed to restart the container twice in the last 12 hours or so to get it to work again).
Found this and downgrade to 2.9.22 immediately corrected the issue. I can’t pull logs right now as I’m off on vacation and happy to have at least found a stable state.
@hugalafutro @Mosney This seems to be expected behavior.
Release notes for 2.9.22 state: https://github.com/NginxProxyManager/nginx-proxy-manager/releases
and
But I can’t find anything about how to prevent this ‘adverse affect’.