Skip to content

Fresh install should guide users to installer instead of generic login error #2413

Description

@PatrickMatthiesen

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

  1. Start a fresh Docker install using ghcr.io/pelican-dev/panel:latest.
  2. 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.
  3. Do not complete the web installer yet.
  4. 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?

  • I have searched the existing issues before opening this issue.
  • I have provided all relevant details, including the specific game and Docker images I am using if this issue is related to running a server.
  • I have checked in the Discord server and believe this is a bug with the software, and not a configuration issue with my specific system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions