Skip to content

Add PROXY_UI_URL for separate UI/package URL advertisement#161

Open
andrew wants to merge 2 commits into
ui-prefixfrom
add-ui-base-url
Open

Add PROXY_UI_URL for separate UI/package URL advertisement#161
andrew wants to merge 2 commits into
ui-prefixfrom
add-ui-base-url

Conversation

@andrew
Copy link
Copy Markdown
Contributor

@andrew andrew commented Jun 6, 2026

Stacked on top of #148. Addresses the dual-URL ask from #123 (comment).

Adds UIBaseURL (env PROXY_UI_URL), advertised separately from BaseURL for deployments where the UI is reached on a public domain (behind auth) while build machines hit a Docker network alias for the package endpoints. Defaults to BaseURL when unset.

Consumers in this PR:

  • Logged alongside base_url at startup.
  • <link rel="canonical"> and og:url / og:title / og:site_name in every UI page, omitted when UIBaseURL is empty.
  • Banner on the install guide when UIBaseURL differs from BaseURL, clarifying that the URLs in the snippets are the package endpoint and that the UI itself lives elsewhere.

BaseURL keeps its existing meaning: the URL that package managers and metadata rewriting use.

andrew added 2 commits June 6, 2026 11:23
Lets deployments advertise the UI's public location separately from
BaseURL (which advertises the package endpoints). Useful when the UI is
served behind auth on a public domain while build machines hit a Docker
network alias for the package endpoints.

- New config field UIBaseURL (env PROXY_UI_URL), defaults to BaseURL
  when unset. Validated as an absolute URL when explicitly set.
- Logged alongside base_url at server startup.
- Threaded into a shared Layout struct embedded in every page data
  struct, so base.html can emit <link rel="canonical"> and og:url /
  og:title / og:site_name meta tags.
- Install guide shows a small banner when UIBaseURL != BaseURL,
  clarifying that the page-shown URLs are the package endpoint and the
  UI lives elsewhere.

Follow-up to #148, which moved the UI under /ui. Addresses the dual-URL
request from issue #123.
….yaml

The env var, YAML field, and default-to-base_url behavior are now
covered in the env vars block, the reverse-proxy section, the settings
table, and the example config so deployers can find it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant