Skip to content

feat: experimental basePath support when built-from-source - #1411

Draft
fallenbagel wants to merge 6 commits into
developfrom
feat-experimental-basepath
Draft

fallenbagel wants to merge 6 commits into
developfrom
feat-experimental-basepath

Conversation

@fallenbagel

@fallenbagel fallenbagel commented Feb 28, 2025 •

Copy link
Copy Markdown
Member

Description

This is to provide experimental basepath support when built from source. It is impossible to provide dynamic basepath support at runtime as nextjs does not support that. So for docker/container image users, they will need to build an image using docker build if they want basepath support, after setting the env variables

(Wip)

Screenshot (if UI-related)

To-Dos

  • Successful build pnpm build
  • Translation keys pnpm i18n:extract
  • Database migration (if required)

Issues Fixed or Closed

@fallenbagel
fallenbagel marked this pull request as draft February 28, 2025 06:14
@github-actions github-actions Bot added the merge conflict Cannot merge due to merge conflicts label Feb 28, 2025
@github-actions

Copy link
Copy Markdown

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

fallenbagel and others added 3 commits May 26, 2025 17:43
* Bugfixes for the experimental basepath feature

* Added a redirect to baseURL for the user context

* Addressing PR comments

* Reverting formatting changes to _app.tsx

* Running pnpm format
@gauthier-th
gauthier-th force-pushed the feat-experimental-basepath branch from 96a94aa to 65d9efb Compare May 26, 2025 15:55
@github-actions github-actions Bot removed the merge conflict Cannot merge due to merge conflicts label May 26, 2025
<select
onChange={(e) => {
router.push(e.target.value);
router.push(getBasedPath(e.target.value));

Check warning

Code scanning / CodeQL

DOM text reinterpreted as HTML

[DOM text](1) is reinterpreted as HTML without escaping meta-characters.
}}
onBlur={(e) => {
router.push(e.target.value);
router.push(getBasedPath(e.target.value));

Check warning

Code scanning / CodeQL

DOM text reinterpreted as HTML

[DOM text](1) is reinterpreted as HTML without escaping meta-characters.
@gauthier-th gauthier-th linked an issue May 31, 2025 that may be closed by this pull request
1 task done
@iGerman00

Copy link
Copy Markdown

It is impossible to provide dynamic basepath support at runtime as nextjs does not support that.

Most similar web service software, like the Servarr stack itself, typically has this limitation and requires a restart when changing the path. So IMO that’s fine.

@gauthier-th

Copy link
Copy Markdown
Member

It is impossible to provide dynamic basepath support at runtime as nextjs does not support that.

Most similar web service software, like the Servarr stack itself, typically has this limitation and requires a restart when changing the path. So IMO that’s fine.

We're not talking about a restart here. You need to rebuild the app when changing the basePath.

@iGerman00

Copy link
Copy Markdown

It is impossible to provide dynamic basepath support at runtime as nextjs does not support that.

Most similar web service software, like the Servarr stack itself, typically has this limitation and requires a restart when changing the path. So IMO that’s fine.

We're not talking about a restart here. You need to rebuild the app when changing the basePath.

Ah, sorry, I misunderstood

@Chinoman10

This comment was marked as off-topic.

@gauthier-th

This comment was marked as off-topic.

@Chinoman10

This comment was marked as off-topic.

@github-actions

github-actions Bot commented Oct 6, 2025

Copy link
Copy Markdown

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@github-actions github-actions Bot added the merge conflict Cannot merge due to merge conflicts label Oct 6, 2025
@jkhsjdhjs

Copy link
Copy Markdown

Hey, I rebased this PR and updated/simplified it to work on the latest version. Tested it as well, works just fine, didn't notice any errors so far: develop...jkhsjdhjs:seerr:feat-experimental-basepath

@emilfihlman

Copy link
Copy Markdown

Hey, would you please keep this up to date?

Serving under a configurable base path is important for users hosting multiple services under one domain, and I would consider it standard expected functionality. Sonarr, Radarr, and Prowlarr all support it natively. Seerr should, too.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge conflict Cannot merge due to merge conflicts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Need baseURL for reverse proxy support

8 participants