Skip to content

request: Add Base URL / Reverse Proxy Support #667

@RealAsheora

Description

@RealAsheora

Checklist

  • I checked that this feature has not been requested before
  • I checked that this feature is not in the "Not planned" list
  • This feature will benefit the majority of users

Problem Description / Use Case

Seanime currently cannot be run under a subpath or base URL (e.g., https://domain.com/seanime). When proxied behind a reverse proxy like Caddy, Nginx, or Traefik with path-based routing, the application fails to load correctly.

The issue is that Seanime uses absolute paths for all assets:

  • /static/js/*
  • /_next/*
  • /icons/*
  • /manifest.json

When accessed at https://domain.com/seanime, the browser attempts to load assets from https://domain.com/static/... instead of https://domain.com/seanime/static/..., resulting in 404 errors and a broken UI (no CSS/JS styling).

This makes it difficult to integrate Seanime into homelab setups where multiple services are exposed through a single domain using a reverse proxy. Currently, the only workaround is to either:

  1. Serve Seanime at the domain root (conflicts with other services)
  2. Access it directly via IP and port (not secure for remote access)
  3. Use complex and fragile URL rewriting rules in the reverse proxy

Proposed Solution

Add support for a configurable base URL so Seanime can be served from a subpath. This would allow users to access Seanime at URLs like https://domain.com/seanime while maintaining full functionality.

Suggested implementation:

  1. Add an environment variable such as BASE_URL or PUBLIC_URL that can be set at build time or runtime
  2. Add a configuration option in a server settings where users can specify a base path
  3. Have the application automatically detect and prepend the base URL to all asset links and route definitions when running behind a proxy

This feature is common in many self-hosted applications (Sonarr, Radarr, Jellyfin, etc.) and would greatly improve Seanime's flexibility for users running reverse proxies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs triageIssue or request is being consideredrequestNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions