I am having trouble getting Nginx proxy manager to deploy. I recently updated to the 2.16.6 version and now it won’t deploy. It won’t let me rollback to previous versions. I previously used the S6_STAGE2_HOOK=sed -i $d /etc/s6-overlay/s6-rc.d/prepare/30-ownership.sh, variable to get it to deploy, but this is no longer working. I do not have an SSD to use, I have seen others say this can help. Is there anything i can do or am i out of luck?
oxyde
August 18, 2025, 11:01am
2
You should post more info to get some help, like
how the app Is deployed? Custom YAML or from catalogue?
what Is the actual configuration?
are you able to track some logs about the error
How long did you wait?
Please read this comment over at the NPM repository:
opened 06:30PM - 03 Jul 25 UTC
closed 09:52PM - 09 Jul 25 UTC
Im going to lay out all the problems that i have had trying to update to NPM 2.1… 2.4 because i seem to have many bugs that other people don't seem mentioned.
TrueNas Scale ElectricEel-24.10.2.2
NPM 2.12.4
Im using cloudflare and letsencrypt.
```
- Problem 1: Cloudflare plugin fails to work because plugin definition is broken
- Cause: The file /app/global/certbot-dns-plugins.json gets rewritten at startup and the cloudflare plugin entry is stripped or malformed
- Fix: Run this command after container start to repair the JSON entry:
- sudo docker exec -it ix-nginx-proxy-manager-npm-1 sh -c “sed -i ‘s/cloudflare==4.0.*/cloudflare/’ /app/global/certbot-dns-plugins.json”
```
The above resolution seems to be all that is needed for a complete working NMP for most people. However i have several other problems. (possibly because im on Truenas scale using Docker apps).
```
- Problem 2: Nginx fails to start due to permission denied on nginx.pid
- Cause: Running the container with non-root PUID and PGID (such as 568) prevents it from writing to /run/nginx/nginx.pid
- Fix: Set User ID and Group ID in the app configuration to 0 so the container runs as root
```
```
- Problem 3: Cloudflare plugin support breaks due to stripped ownership script
- Cause: The startup script /etc/s6-overlay/s6-rc.d/prepare/30-ownership.sh gets fully stripped of content, removing necessary lines for certbot plugins
- Fix: Set the following environment variable in the app config:
- S6_STAGE2_HOOK = sed -i 2,$d /etc/s6-overlay/s6-rc.d/prepare/30-ownership.sh
- This keeps the shebang line and prevents plugin wipe
```
```
- Problem 4: Container marked unhealthy due to DNS failures
- Cause: DNS servers like 217.169.20.21 and 217.169.20.20 are unreachable from inside the container, even though they work fine in older NPM versions
- Fix: Not resolved yet. Rolling back to NPM version 2.11.1 avoids the issue. Possibly caused by new container network behavior in 2.12.4
```
I post this so i can refer to it each time in need to try a "new fix" and have to redo all this again just to test. Also so that i hope none of these problems are overlooked before the next update.
I shall remain on the previous version of NPM until the next version is pushed to Truenas app's, unless anyone has any other "fix" that i can try.
In short, remove the S6-hook you used previously and add the SKIP_CERTBOT_OWNERSHIP=true
variable if the start up time is too much.