From 5f9744e9acd100a2b8d5ee86168038cf0e44e7a9 Mon Sep 17 00:00:00 2001 From: Benedikt Bongartz Date: Sat, 7 Mar 2026 18:23:22 +0100 Subject: [PATCH] feat: support seerr base url Signed-off-by: Benedikt Bongartz --- Dockerfile | 5 +++-- Dockerfile-rootless | 5 +++-- INSTALL.md | 3 +++ config/config.json | 5 +++-- docker-compose.yml | 1 + lib/providers/auth_provider.dart | 3 +++ lib/util/fladder_config.dart | 6 ++++++ 7 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2f5619c71..00813cb83 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,10 @@ FROM nginx:alpine EXPOSE 80 ENV BASE_URL="" +ENV BASE_URL_SEERR="" COPY build/web /usr/share/nginx/html -RUN echo '{"baseUrl": "${BASE_URL}"}' > /usr/share/nginx/html/assets/config/config.json +RUN echo '{"baseUrl": "${BASE_URL}", "baseUrlSeerr": "${BASE_URL_SEERR}"}' > /usr/share/nginx/html/assets/config/config.json -CMD /bin/sh -c 'sed -i "s|\${BASE_URL}|${BASE_URL}|g" /usr/share/nginx/html/assets/config/config.json && nginx -g "daemon off;"' +CMD /bin/sh -c 'sed -i "s|\${BASE_URL}|${BASE_URL}|g" /usr/share/nginx/html/assets/config/config.json && sed -i "s|\${BASE_URL_SEERR}|${BASE_URL_SEERR}|g" /usr/share/nginx/html/assets/config/config.json && nginx -g "daemon off;"' diff --git a/Dockerfile-rootless b/Dockerfile-rootless index 040d9da3a..f6947bc8f 100644 --- a/Dockerfile-rootless +++ b/Dockerfile-rootless @@ -3,6 +3,7 @@ FROM ghcr.io/nginxinc/nginx-unprivileged:stable-alpine-slim EXPOSE 8080 ENV BASE_URL="" +ENV BASE_URL_SEERR="" USER root COPY build/web /usr/share/nginx/html @@ -10,7 +11,7 @@ RUN chown -R nginx:nginx /usr/share/nginx/html USER nginx RUN mkdir -p /usr/share/nginx/html/assets/config && \ - echo '{"baseUrl": "${BASE_URL}"}' > /usr/share/nginx/html/assets/config/config.json + echo '{"baseUrl": "${BASE_URL}", "baseUrlSeerr": "${BASE_URL_SEERR}"}' > /usr/share/nginx/html/assets/config/config.json USER root -CMD /bin/sh -c 'sed -i "s|\${BASE_URL}|${BASE_URL}|g" /usr/share/nginx/html/assets/config/config.json && nginx -g "daemon off;"' \ No newline at end of file +CMD /bin/sh -c 'sed -i "s|\${BASE_URL}|${BASE_URL}|g" /usr/share/nginx/html/assets/config/config.json && sed -i "s|\${BASE_URL_SEERR}|${BASE_URL_SEERR}|g" /usr/share/nginx/html/assets/config/config.json && nginx -g "daemon off;"' diff --git a/INSTALL.md b/INSTALL.md index a3eea05eb..efc2b00a5 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -141,6 +141,9 @@ Run `docker-compose up -d` to start the container. It will be available on `http > [!TIP] > We recommend changing the `BASE_URL` environment variable to the URL you use to access Jellyfin, as this will skip entering it when you load the web UI. +> [!TIP] +> You can set the `BASE_URL_SEERR` environment variable to pre-fill the Jellyseerr server URL on the login page. + ## Web You can also manually copy the web .zip build to any static file server such as Nginx, Caddy, or Apache diff --git a/config/config.json b/config/config.json index 78ec77596..475fbdc42 100644 --- a/config/config.json +++ b/config/config.json @@ -1,3 +1,4 @@ { - "baseUrl": null -} \ No newline at end of file + "baseUrl": null, + "baseUrlSeerr": null +} diff --git a/docker-compose.yml b/docker-compose.yml index 70a3660ce..516ed3bf7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,3 +5,4 @@ services: - 80:80 environment: - BASE_URL=https://server-url #OPTIONAL: Locks the Fladder front-end to a certain jellyfin server + - BASE_URL_SEERR= #OPTIONAL: Pre-fills the Jellyseerr server URL on the login page diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index ad5cd29df..c6eeceae8 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -50,6 +50,9 @@ class AuthNotifier extends StateNotifier { await setServer(url); } } + if (FladderConfig.baseUrlSeerr != null) { + setTempSeerrUrl(FladderConfig.baseUrlSeerr); + } state = state.copyWith( accounts: currentAccounts, screen: currentAccounts.isEmpty ? LoginScreenType.login : LoginScreenType.users, diff --git a/lib/util/fladder_config.dart b/lib/util/fladder_config.dart index e54040fda..f11348a9a 100644 --- a/lib/util/fladder_config.dart +++ b/lib/util/fladder_config.dart @@ -6,12 +6,18 @@ class FladderConfig { static set baseUrl(String? value) => _instance._baseUrl = value; String? _baseUrl; + static String? get baseUrlSeerr => _instance._baseUrlSeerr; + static set baseUrlSeerr(String? value) => _instance._baseUrlSeerr = value; + String? _baseUrlSeerr; + static void fromJson(Map json) => _instance = FladderConfig._fromJson(json); factory FladderConfig._fromJson(Map json) { final config = FladderConfig._(); final newUrl = json['baseUrl'] as String?; config._baseUrl = newUrl?.isEmpty == true ? null : newUrl; + final newSeerrBaseUrl = json['baseUrlSeerr'] as String?; + config._baseUrlSeerr = newSeerrBaseUrl?.isEmpty == true ? null : newSeerrBaseUrl; return config; } }