From 48a61d812b951b51763efeae93963549e43fffd7 Mon Sep 17 00:00:00 2001 From: Ludovic Ortega Date: Mon, 20 Oct 2025 11:03:21 +0300 Subject: [PATCH] docs: migrate third-parties documentation to a dedicated folder (#2068) * docs: migrate third party documentation to a dedidcated folders --------- Signed-off-by: Ludovic Ortega --- docs/getting-started/docker.mdx | 9 - docs/getting-started/index.mdx | 2 +- docs/getting-started/kubernetes.mdx | 4 +- docs/getting-started/nixpkg.mdx | 271 ------------------ .../{ => third-parties}/aur.mdx | 13 +- docs/getting-started/third-parties/index.mdx | 11 + docs/getting-started/third-parties/nixpkg.mdx | 17 ++ docs/getting-started/third-parties/unraid.mdx | 20 ++ 8 files changed, 57 insertions(+), 290 deletions(-) delete mode 100644 docs/getting-started/nixpkg.mdx rename docs/getting-started/{ => third-parties}/aur.mdx (80%) create mode 100644 docs/getting-started/third-parties/index.mdx create mode 100644 docs/getting-started/third-parties/nixpkg.mdx create mode 100644 docs/getting-started/third-parties/unraid.mdx diff --git a/docs/getting-started/docker.mdx b/docs/getting-started/docker.mdx index 664882f8b..fd1cb7755 100644 --- a/docs/getting-started/docker.mdx +++ b/docs/getting-started/docker.mdx @@ -135,15 +135,6 @@ You may alternatively use a third-party mechanism like [dockge](https://github.c - -## Unraid - -1. Ensure you have the **Community Applications** plugin installed. -2. Inside the **Community Applications** app store, search for **Jellyseerr**. -3. Click the **Install Button**. -4. On the following **Add Container** screen, make changes to the **Host Port** and **Host Path 1** \(Appdata\) as needed. -5. Click apply and access "Jellyseerr" at your `` in a web browser. - ## Windows Please refer to the [Docker Desktop for Windows user manual](https://docs.docker.com/docker-for-windows/) for details on how to install Docker on Windows. There is no need to install a Linux distro if using named volumes like in the example below. diff --git a/docs/getting-started/index.mdx b/docs/getting-started/index.mdx index f31ddf699..cf7818b93 100644 --- a/docs/getting-started/index.mdx +++ b/docs/getting-started/index.mdx @@ -7,4 +7,4 @@ import DocCardList from '@theme/DocCardList'; After running Jellyseerr for the first time, configure it by visiting the web UI at `http://[address]:5055` and completing the setup steps. ::: - \ No newline at end of file + diff --git a/docs/getting-started/kubernetes.mdx b/docs/getting-started/kubernetes.mdx index 1d5cb6ff0..a6a77a1ca 100644 --- a/docs/getting-started/kubernetes.mdx +++ b/docs/getting-started/kubernetes.mdx @@ -1,10 +1,10 @@ --- title: Kubernetes (Advanced) description: Install Jellyseerr in Kubernetes -sidebar_position: 5 +sidebar_position: 3 --- # Kubernetes -:::info +:::warning This method is not recommended for most users. It is intended for advanced users who are using Kubernetes. ::: diff --git a/docs/getting-started/nixpkg.mdx b/docs/getting-started/nixpkg.mdx deleted file mode 100644 index e35fd184c..000000000 --- a/docs/getting-started/nixpkg.mdx +++ /dev/null @@ -1,271 +0,0 @@ ---- -title: Nix Package Manager (Advanced) -description: Install Jellyseerr using Nix -sidebar_position: 3 ---- - -import { JellyseerrVersion, NixpkgVersion } from '@site/src/components/JellyseerrVersion'; -import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Nix Package Manager (Advanced) -:::info -This method is not recommended for most users. It is intended for advanced users who are using Nix as their package manager. -::: - -export const VersionMismatchWarning = () => { - let jellyseerrVersion = null; - let nixpkgVersions = null; - try { - jellyseerrVersion = JellyseerrVersion(); - nixpkgVersions = NixpkgVersion(); - } catch (err) { - return ( - - Failed to load version information. Error: {err.message || JSON.stringify(err)} - - ); - } - - if (!nixpkgVersions || nixpkgVersions.error) { - return ( - - Failed to fetch Nixpkg versions: {nixpkgVersions?.error || 'Unknown error'} - - ); - } - - const isUnstableUpToDate = jellyseerrVersion === nixpkgVersions.unstable; - const isStableUpToDate = jellyseerrVersion === nixpkgVersions.stable; - - return ( - <> - {!isStableUpToDate ? ( - - The{' '} - - upstream Jellyseerr Nix Package (v{nixpkgVersions.stable}) - {' '} - is not up-to-date. If you want to use Jellyseerr v{jellyseerrVersion},{' '} - {isUnstableUpToDate ? ( - <> - consider using the{' '} - - unstable package - {' '} - instead. - - ) : ( - <> - you will need to{' '} - override the package derivation. - - )} - -) : null} - - ); -}; - - - -## Installation -To get up and running with jellyseerr using Nix, you can add the following to your `configuration.nix`: - -```nix -{ config, pkgs, ... }: - -{ - services.jellyseerr.enable = true; -} -``` - -If you want more advanced configuration options, you can use the following: - - - -```nix -{ config, pkgs, ... }: - -{ - services.jellyseerr = { - enable = true; - port = 5055; - openFirewall = true; - package = pkgs.jellyseerr; # Use the unstable package if stable is not up-to-date - }; -} -``` - - -In order to use postgres, you will need to add override the default module of jellyseerr with the following as the current default module is not compatible with postgres: -```nix -{ - config, - pkgs, - lib, - ... -}: -with lib; -let - cfg = config.services.jellyseerr; -in -{ - meta.maintainers = [ maintainers.camillemndn ]; - - disabledModules = [ "services/misc/jellyseerr.nix" ]; - - options.services.jellyseerr = { - enable = mkEnableOption ''Jellyseerr, a requests manager for Jellyfin''; - - openFirewall = mkOption { - type = types.bool; - default = false; - description = ''Open port in the firewall for the Jellyseerr web interface.''; - }; - - port = mkOption { - type = types.port; - default = 5055; - description = ''The port which the Jellyseerr web UI should listen to.''; - }; - - package = mkOption { - type = types.package; - default = pkgs.jellyseerr; - defaultText = literalExpression "pkgs.jellyseerr"; - description = '' - Jellyseerr package to use. - ''; - }; - - databaseConfig = mkOption { - type = types.attrsOf types.str; - default = { - type = "sqlite"; - configDirectory = "config"; - logQueries = "false"; - }; - description = '' - Database configuration. For "sqlite", only "type", "configDirectory", and "logQueries" are relevant. - For "postgres", include host, port, user, pass, name, and optionally socket. - Example: - { - type = "postgres"; - socket = "/run/postgresql"; - user = "jellyseerr"; - name = "jellyseerr"; - logQueries = "false"; - } - or - { - type = "postgres"; - host = "localhost"; - port = "5432"; - user = "dbuser"; - pass = "password"; - name = "jellyseerr"; - logQueries = "false"; - } - or - { - type = "sqlite"; - configDirectory = "config"; - logQueries = "false"; - } - ''; - }; - }; - - config = mkIf cfg.enable { - systemd.services.jellyseerr = { - description = "Jellyseerr, a requests manager for Jellyfin"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - environment = - let - dbConfig = cfg.databaseConfig; - in - { - PORT = toString cfg.port; - DB_TYPE = toString dbConfig.type; - CONFIG_DIRECTORY = toString dbConfig.configDirectory or ""; - DB_LOG_QUERIES = toString dbConfig.logQueries; - DB_HOST = if dbConfig.type == "postgres" && !(hasAttr "socket" dbConfig) then toString dbConfig.host or "" else ""; - DB_PORT = if dbConfig.type == "postgres" && !(hasAttr "socket" dbConfig) then toString dbConfig.port or "" else ""; - DB_SOCKET_PATH = if dbConfig.type == "postgres" && hasAttr "socket" dbConfig then toString dbConfig.socket or "" else ""; - DB_USER = if dbConfig.type == "postgres" then toString dbConfig.user or "" else ""; - DB_PASS = if dbConfig.type == "postgres" then toString dbConfig.pass or "" else ""; - DB_NAME = if dbConfig.type == "postgres" then toString dbConfig.name or "" else ""; - }; - serviceConfig = { - Type = "exec"; - StateDirectory = "jellyseerr"; - WorkingDirectory = "${cfg.package}/libexec/jellyseerr"; - DynamicUser = true; - ExecStart = "${cfg.package}/bin/jellyseerr"; - BindPaths = [ "/var/lib/jellyseerr/:${cfg.package}/libexec/jellyseerr/config/" ]; - Restart = "on-failure"; - ProtectHome = true; - ProtectSystem = "strict"; - PrivateTmp = true; - PrivateDevices = true; - ProtectHostname = true; - ProtectClock = true; - ProtectKernelTunables = true; - ProtectKernelModules = true; - ProtectKernelLogs = true; - ProtectControlGroups = true; - NoNewPrivileges = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - RemoveIPC = true; - PrivateMounts = true; - }; - }; - - networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; }; - }; -} -``` -Then, import the module into your `configuration.nix`: -```nix -{ config, pkgs, ... }: -{ - imports = [ ./modules/jellyseerr.nix ]; - - services.jellyseerr = { - enable = true; - port = 5055; - openFirewall = true; - package = pkgs.unstable.jellyseerr; # use the unstable package if stable is not up-to-date - databaseConfig = { - type = "postgres"; - host = "localhost"; # or socket: "/run/postgresql" - port = "5432"; # if using socket, this is not needed - user = "jellyseerr"; - pass = "jellyseerr"; - name = "jellyseerr"; - logQueries = "false"; - }; - } -} -``` - - - -After adding the configuration to your `configuration.nix`, you can run the following command to install jellyseerr: - -```bash -nixos-rebuild switch -``` -After rebuild is complete jellyseerr should be running, verify that it is with the following command. -```bash -systemctl status jellyseerr -``` - -:::info -You can now access Jellyseerr by visiting `http://localhost:5055` in your web browser. -::: - diff --git a/docs/getting-started/aur.mdx b/docs/getting-started/third-parties/aur.mdx similarity index 80% rename from docs/getting-started/aur.mdx rename to docs/getting-started/third-parties/aur.mdx index 025118c8f..b6f0b1e57 100644 --- a/docs/getting-started/aur.mdx +++ b/docs/getting-started/third-parties/aur.mdx @@ -1,16 +1,15 @@ --- -title: AUR (Arch User Repository) +title: AUR (Advanced) description: Install Jellyseerr using the Arch User Repository -sidebar_position: 4 +sidebar_position: 2 --- -# AUR (Arch User Repository) - -:::note Disclaimer -This AUR package is not maintained by us but by a third party. Please refer to the maintainer for any issues. +# AUR +:::warning +Third-party installation methods are maintained by the community. The Seerr team is not responsible for these packages. ::: -:::info +:::warning This method is not recommended for most users. It is intended for advanced users who are using Arch Linux or an Arch-based distribution. ::: diff --git a/docs/getting-started/third-parties/index.mdx b/docs/getting-started/third-parties/index.mdx new file mode 100644 index 000000000..d2d8e0293 --- /dev/null +++ b/docs/getting-started/third-parties/index.mdx @@ -0,0 +1,11 @@ +--- +title: Third-party Installation Methods +--- +import DocCardList from '@theme/DocCardList'; + +:::warning +Third-party installation methods are maintained by the community. The Seerr team is not responsible for these packages. +::: + + + diff --git a/docs/getting-started/third-parties/nixpkg.mdx b/docs/getting-started/third-parties/nixpkg.mdx new file mode 100644 index 000000000..293e0f1b7 --- /dev/null +++ b/docs/getting-started/third-parties/nixpkg.mdx @@ -0,0 +1,17 @@ +--- +title: Nix Package Manager (Advanced) +description: Install Jellyseerr using Nixpkgs +sidebar_position: 1 +--- + +import { JellyseerrVersion, NixpkgVersion } from '@site/src/components/JellyseerrVersion'; +import Admonition from '@theme/Admonition'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Nix Package Manager +:::warning +Third-party installation methods are maintained by the community. The Seerr team is not responsible for these packages. +::: + +Refer to [NixOS documentation](https://search.nixos.org/options?channel=25.05&query=seerr) diff --git a/docs/getting-started/third-parties/unraid.mdx b/docs/getting-started/third-parties/unraid.mdx new file mode 100644 index 000000000..daf0c3e0c --- /dev/null +++ b/docs/getting-started/third-parties/unraid.mdx @@ -0,0 +1,20 @@ +--- +title: Unraid (Advanced) +description: Install Jellyseerr using Unraid +sidebar_position: 3 +--- + +# Unraid +:::warning +Third-party installation methods are maintained by the community. The Seerr team is not responsible for these packages. +::: + +:::warning +This method is not recommended for most users. It is intended for advanced users who are using Unraid. +::: + +1. Ensure you have the **Community Applications** plugin installed. +2. Inside the **Community Applications** app store, search for **Jellyseerr**. +3. Click the **Install Button**. +4. On the following **Add Container** screen, make changes to the **Host Port** and **Host Path 1** \(Appdata\) as needed. +5. Click apply and access "Jellyseerr" at your `` in a web browser.