NginxProxyManager / NginxProxyManager/nginx-proxy-manager

Update from 2.12.3 to 2.12.4 broke docker container startup

Open
#4,610 15 comments 33 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug stale
Dominant language
TypeScript
Stars
34.2k
Forks
3.9k
Avg merge
21h 12m
Merged PRs (30d)
20

Description

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • Yes (2.12.4)
  • 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

Docker container does not start anymore with log;

+ . /etc/s6-overlay/s6-rc.d/prepare/10-usergroup.sh
++ set -e
++ log_info 'Configuring npm user ...'
++ echo -e '\E[1;34m❯ \E[1;36mConfiguring npm user ...\E[0m'
++ id -u npm
❯ Configuring npm user ...
++ useradd -o -u 0 -U -d /tmp/npmuserhome -s /bin/false npm
useradd warning: npm's uid 0 outside of the UID_MIN 1000 and UID_MAX 60000 range.
❯ Configuring npm group ...
++ log_info 'Configuring npm group ...'
++ echo -e '\E[1;34m❯ \E[1;36mConfiguring npm group ...\E[0m'
+++ get_group_id npm
+++ '[' npm '!=' '' ']'
+++ getent group npm
+++ cut -d: -f3
++ '[' 1000 = '' ']'
++ groupmod -o -g 0 npm
++ groupmod -o -g 0 npm
+++ get_group_id npm
+++ '[' npm '!=' '' ']'
+++ getent group npm
+++ cut -d: -f3
++ '[' 0 '!=' 0 ']'
++ usermod -G 0 npm
+++ id -g npm
++ '[' 0 '!=' 0 ']'
++ mkdir -p /tmp/npmuserhome
++ chown -R 0:0 /tmp/npmuserhome
+ . /etc/s6-overlay/s6-rc.d/prepare/20-paths.sh
++ set -e
++ log_info 'Checking paths ...'
++ echo -e '\E[1;34m❯ \E[1;36mChecking paths ...\E[0m'
++ '[' '!' -d /data ']'
❯ Checking paths ...
++ '[' '!' -d /etc/letsencrypt ']'
++ mkdir -p /data/nginx /data/custom_ssl /data/logs /data/access /data/nginx/default_host /data/nginx/default_www /data/nginx/proxy_host /data/nginx/redirection_host /data/nginx/stream /data/nginx/dead_host /data/nginx/temp /data/letsencrypt-acme-challenge /run/nginx /tmp/nginx/body /var/log/nginx /var/lib/nginx/cache/public /var/lib/nginx/cache/private /var/cache/nginx/proxy_temp
++ touch /var/log/nginx/error.log
++ chmod 777 /var/log/nginx/error.log
++ chmod -R 777 /var/cache/nginx
++ chmod 644 /etc/logrotate.d/nginx-proxy-manager
+ . /etc/s6-overlay/s6-rc.d/prepare/30-ownership.sh
++ set -e
++ log_info 'Setting ownership ...'
++ echo -e '\E[1;34m❯ \E[1;36mSetting ownership ...\E[0m'
++ chown root /tmp/nginx
❯ Setting ownership ...
++ chown -R 0:0 /data
++ chown -R 0:0 /etc/letsencrypt
++ chown -R 0:0 /run/nginx
++ chown -R 0:0 /tmp/nginx
++ chown -R 0:0 /var/cache/nginx
++ chown -R 0:0 /var/lib/logrotate
++ chown -R 0:0 /var/lib/nginx
++ chown -R 0:0 /var/log/nginx
++ chown -R 0:0 /etc/nginx/nginx
++ chown -R 0:0 /etc/nginx/nginx.conf
++ chown -R 0:0 /etc/nginx/conf.d
++ CERT_INIT_FLAG=/opt/certbot/.ownership_initialized
++ '[' '!' -f /opt/certbot/.ownership_initialized ']'
++ chown 0:0 /opt/certbot /opt/certbot/bin
++ find /opt/certbot/lib -type d -name site-packages
++ read -r SITE_PACKAGES_DIR
++ chown -R 0:0 /opt/certbot/lib/python3.11/site-packages

Nginx Proxy Manager Version

Login not possible anymore after update from 2.12.3 to 2.12.4.

To Reproduce

Use docker-compose.yaml with version 2.12.3 and update to 2.12.4 afterwards.

services:
  app:
    image: 'jc21/nginx-proxy-manager:2.12.4'
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - data:/data
      - letsencrypt:/etc/letsencrypt
    restart: always

Expected behavior

Container should start.

Operating System

Virtual Machine on TrueNAS Dragonfish-24.04.2.5

Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble

Docker version 28.2.2, build e6534b4

Additional context

Update from 2.12.3 to 2.12.4 broke the startup.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the upgrade with the provided docker-compose.yaml, comparing 2.12.3 and 2.12.4 startup logs. Trace the image's prepare scripts around the logged ownership step and identify why startup stops there. Done means the 2.12.4 container starts normally and login works after the upgrade.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, nginx
Domain
devops, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.