Skip to content

[v2.78.15] Mandatory DASHBOARD_USER crashes database migrations and lacks sub-path support #1765

@ElemTran

Description

@ElemTran

Describe the bug

In the latest v2.78.15 release of Supabase Realtime, the service requires the DASHBOARD_USER environment variable to be set. If it's missing, the container fails to boot, even when performing core tasks like database migrations (bin/migrate). This causes a complete crash loop for self-hosted instances that don't have this variable previously configured.

Additionally, the Realtime Dashboard links (e.g., /inspector, /status) are all absolute paths, which breaks the UI when the service is hosted behind a reverse proxy sub-path (e.g., domain.com/realtime-dashboard/).

To Reproduce

  1. Use docker image supabase/realtime:v2.78.15.
  2. Do not provide DASHBOARD_USER in the environment variables.
  3. Run the container or manually execute bin/migrate.
  4. See error: ** (RuntimeError) DASHBOARD_USER is not set originating from runtime.exs:423.

Expected behavior

  1. The DASHBOARD_USER check should be optional or deferred until the dashboard is actually accessed, allowing core service startup and migrations to proceed even if credentials are not yet set.
  2. The dashboard should support sub-path hosting via an environment variable (like ROOT_PATH), ensuring internal links and assets don't assume the root / path.

System information

  • OS: Linux
  • Version: Realtime v2.78.15 (Self-hosted)
  • Setup: Docker Compose behind Kong Gateway

Additional context

The transition to mandatory dashboard credentials for migrations seems to be a breaking change introduced accidentally during the ZTA implementation (#1752).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions