mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2026-04-25 08:45:58 +03:00
[GH-ISSUE #1412] Wizard fails during installation #2860
Labels
No labels
Q/A
bug
casdoor
dependencies
docker
documentation
duplicate
enhancement
help wanted
invalid
lego
platform:openwrt
platform:windows
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/nginx-ui#2860
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @enwikuna on GitHub (Oct 28, 2025).
Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1412
Describe the bug
The initial setup wizard (“Self Check” screen) in
uozi/nginx-ui:latestnever finishes and never allows proceeding to the actual UI. It always reports failing checks like “PID path not exist”, “Config directory not exist”, “Sites-available directory not exist”, even though Nginx is actually running in the container, the config directory is mounted correctly, and all required paths and files exist.Because the wizard never turns green, there is no way to complete installation through the normal flow.
Additionally,
/installdoes not present a normal “create admin user” wizard. Instead, calling/or/installreturns{"message":"not found"}until the Self Check is passed — which in this case is impossible.It looks like the wizard fails to parse live Nginx info even though Nginx is there and working.
To Reproduce
nginx-uiusing the officialuozi/nginx-ui:latestimage with a bind-mount for/etc/nginxand/etc/nginx-ui, plus published ports 8080→80 and 8443→443./etc/nginx(on host we mount/opt/system/nginx-ui/nginx) is populated with a normal Nginx config:nginx.confwithpid /var/run/nginx.pid;conf.d/,sites-available/,sites-enabled/, etc.http://SERVER_IP:8080or via SSH tunnel (ssh -L 8080:127.0.0.1:8080 root@SERVER_IP) and let nginx-ui show the installer “Self Check”.Meanwhile, inside the running
nginx-uicontainer:nginx -Vfrom inside the container clearly shows correct build flags:But nginx-ui logs spam errors like:
So nginx-ui fails to “see” the exact same paths it just printed from
nginx -V. It never marks the PID path as valid, and because of that the wizard refuses to continue. The admin user screen is never reachable.Expected behavior
/etc/nginx/nginx.confexists and is readable,/etc/nginx/sites-availableand/etc/nginx/sites-enabledexist (they do),nginx.confexists and contains a PID (/var/run/nginx.pid->/run/nginx.pidexists).Additionally:
If the project has moved to a “headless install” flow (env vars like
NGINX_UI_NODE_SKIP_INSTALLATION,NGINX_UI_PREDEFINED_USER_NAME, etc.), then the wizard should either:Right now, the wizard is a dead end for me.
Screenshots
even though
/etc/nginxcontains full config and/run/nginx.pidexists in the container.Info (please complete the following information):
uozi/nginx-ui:latestas of 2025-10-28proxy-tierRelevant container logs at startup:
As you can see, nginx-ui itself prints
--pid-path=/run/nginx.pidfromnginx -V, and/var/run/nginx.pidactually exists (with/var/runsymlinked to/run), but the wizard still errors “PID path not exist” and never proceeds.Additional context
Below is our
docker-compose.ymlsnippet we use to run nginx-ui side-by-side with an existing nginx proxy. We mount empty host dirs into/etc/nginxand/etc/nginx-ui, then nginx-ui populates them. Ports 8080/8443 are for testing before we swap it to :80/:443 in production:Inside
nginx-ui, after first start,/etc/nginxlooks like this (bind-mounted from host):nginx.confcontains:And
/run/nginx.pidexists and holds the current master PID.TL;DR
/var/run/nginx.pid(→/run/nginx.pid) is present.It would help if:
/var/runsymlinking to/run, or