Current Behavior
On a fresh Docker install, visiting the panel root URL (for example https://panel.example.com/) can land on the normal login flow. Because the install is not complete yet, the login page/backend can fail with a generic "Something went wrong" modal instead of guiding the operator to finish setup.
In my case this was a fresh ghcr.io/pelican-dev/panel:latest Docker install behind a reverse proxy, with the documented installer flow not completed yet. The app was configured for SQLite, but the persistent SQLite file had not been initialized yet, so visiting / redirected/landed at /login and the backend logged an error like:
Database file at path [/var/www/html/database/database.sqlite] does not exist.
The visible browser behavior was just the generic "Something went wrong" modal on /login, which made it look like credentials or the proxy were broken rather than the panel simply not being installed yet.
Expected Behavior
When the panel has not completed first-run setup, visiting / or /login should guide the admin to the installer instead of showing a generic failure. Either of these would be much clearer:
- redirect to
/installer while setup is incomplete, or
- show an explicit setup-incomplete error page with a link/instruction to open
/installer.
The Docker docs currently say to open APP_URL/installer to finish setting up the panel. That works if the admin knows to go there directly, but the app itself should ideally make this state obvious when someone lands on the root URL first.
Steps to Reproduce
- Start a fresh Docker install using
ghcr.io/pelican-dev/panel:latest.
- Configure it behind a reverse proxy with
APP_URL=https://panel.example.com, BEHIND_PROXY=true, and filesystem/session defaults similar to the documented Docker install.
- Do not complete the web installer yet.
- Visit
https://panel.example.com/ or https://panel.example.com/login instead of https://panel.example.com/installer.
Panel Version
Docker latest image as of 2026-06-23.
Wings Version
N/A
Games and/or Eggs Affected
N/A
Docker Image
ghcr.io/pelican-dev/panel:latest
Error Logs
Database file at path [/var/www/html/database/database.sqlite] does not exist.
Is there an existing issue for this?
Current Behavior
On a fresh Docker install, visiting the panel root URL (for example
https://panel.example.com/) can land on the normal login flow. Because the install is not complete yet, the login page/backend can fail with a generic "Something went wrong" modal instead of guiding the operator to finish setup.In my case this was a fresh
ghcr.io/pelican-dev/panel:latestDocker install behind a reverse proxy, with the documented installer flow not completed yet. The app was configured for SQLite, but the persistent SQLite file had not been initialized yet, so visiting/redirected/landed at/loginand the backend logged an error like:The visible browser behavior was just the generic "Something went wrong" modal on
/login, which made it look like credentials or the proxy were broken rather than the panel simply not being installed yet.Expected Behavior
When the panel has not completed first-run setup, visiting
/or/loginshould guide the admin to the installer instead of showing a generic failure. Either of these would be much clearer:/installerwhile setup is incomplete, or/installer.The Docker docs currently say to open
APP_URL/installerto finish setting up the panel. That works if the admin knows to go there directly, but the app itself should ideally make this state obvious when someone lands on the root URL first.Steps to Reproduce
ghcr.io/pelican-dev/panel:latest.APP_URL=https://panel.example.com,BEHIND_PROXY=true, and filesystem/session defaults similar to the documented Docker install.https://panel.example.com/orhttps://panel.example.com/logininstead ofhttps://panel.example.com/installer.Panel Version
Docker
latestimage as of 2026-06-23.Wings Version
N/A
Games and/or Eggs Affected
N/A
Docker Image
ghcr.io/pelican-dev/panel:latestError Logs
Is there an existing issue for this?