diff --git a/docs/wiki/index.md b/docs/wiki/index.md index 58681fe..f257abe 100644 --- a/docs/wiki/index.md +++ b/docs/wiki/index.md @@ -10,6 +10,7 @@ This is an index of existing articles: - **Examples** - **[Basic Example](/wiki/examples/example-1)** - **[Example Configuration Where Port Forwarding Is Not an Option](/wiki/examples/example-2)** +- **[Setup the applications](/wiki/setup)** - **[Exposing Services Safely](/wiki/expose)** - **VPN** - **[Running Services Not Covered by Nixarr Through a VPN](/wiki/vpn/uncovered-services)** diff --git a/docs/wiki/setup/index.md b/docs/wiki/setup/index.md new file mode 100644 index 0000000..202298a --- /dev/null +++ b/docs/wiki/setup/index.md @@ -0,0 +1,119 @@ +--- +title: Setup the applications +--- + +Here are some guides to help you set up the applications. We assume you left the +default ports; if you changed them, you will need to change the ports in the +URLs. Same if you are using a domain name—change the URLs to match. We assume +you are using the [first example](/wiki/examples/example-1) in your Nix +configuration. Replace {URL} in this document with your server IP or domain. + +In the below setup, we assume you also didn't set the `nixarr.mediaDir` +option, which by defuault is set to `/data/media`. + +## Jellyfin + +- Open your browser and go to `{URL}:8096`. +- Click `Add Server` and put your server address +- Follow the setup wizard: + - Create your administrator account. + - Setup two libraries: + - Movies: Choose "Movies" as content type, then add the + `/data/media/library/movies` folder. + - TV Shows: Same with `/data/media/library` as the folder. + - You can add music, books, etc. + - Continue the setup. + +**Recommendations:**: + +- Reduce the scan media library interval for small libraries: See + `Scheduled Tasks`: {URL}:8096/web/index.html#/dashboard/tasks/ + +## Transmission + +Transmission should already be setupup and running since it's configured +with JSON, and can therefore be configured with nix. The most basic settings are already set. See the following links for more info: + +- [The configured Nixarr defaults for transmission](https://github.com/rasmus-kirk/nixarr/blob/28d1be070deb1a064c1967889c11c8921752fa09/nixarr/transmission/default.nix#L355) +- [The `nixarr.transmission` options](https://nixarr.com/nixos-options/#nixarr.transmission.enable) +- [Settings that can be passed through `nixarr.transmission.settings`] + +## Radarr + +- Open your browser and go to `{URL}:7878`. +- You will be asked to set up a new account. + - Choose `Forms` as the auth method and choose a username & password. + - You can now log in. +- Go to "Settings" > "Media Management": + - Click on `Show Advanced` + - Under `Importing`, enable `Use Hardlinks instead of Copy` + - Under `Root Folders`, click `Add Root Folder`. Add + `/data/media/library/movies/`, then click `Save Changes`. +- Go to "Settings" > "Download Clients" and add Transmission. Change the + category to `radarr`. + +**Recommendations:**: + +- Go to {URL}:7878/settings/mediamanagement and set `Unmonitor Deleted Movies` + to true. + +## Sonarr + +- Open your browser and go to `{URL}:8989`. +- You will be asked to set up a new account. + - Choose `Forms` as the auth method and choose a username & password. + - You can now log in. +- Go to "Settings" > "Media Management": + - Click on `Show Advanced` + - Under `Importing`, enable `Use Hardlinks instead of Copy` + - Under `Root Folders`, click `Add Root Folder`. Add + `/data/media/library/movies/`, then click `Save Changes`. +- Go to "Settings" > "Download Clients" and add Transmission. Change the + category to `sonarr`. + +**Recommendations:**: + +- Go to {URL}:8989/settings/mediamanagement and set `Unmonitor Deleted Episodes` + to true. + +## Jellyseerr + +- Open your browser and go to `{URL}:5055`. +- Follow the installation wizard: + - Choose Jellyfin (or Plex). + - Add your Jellyfin URL, username & password (you can leave the path + empty and use a dummy email). + - Click on `Sync Libraries` and toggle `Movies` and `Shows`, click `Next`. + - Add your Radarr and Sonarr apps. + - Get the API key by typing `sudo nixarr list-api-keys` in your terminal. + +## Bazarr + +- Open your browser and go to `{URL}:6767`. +- Go to "Settings" > "Languages": + - select your preferred languages for subtitles in "Languages Filter", then + add a languages profile + - Add a "Default Language Profile" for "Series" and "Movies" +- Go to "Settings" > "Sonarr" and "Settings" > "Radarr" to add your respective + Sonarr and Radarr instances. + - Get the API key by typing `sudo nixarr list-api-keys` in your terminal. + - Click `Test` to ensure the connection works, then `Save`. +- Go to "Settings" > "Providers" and enable the subtitle providers you want. + +**Recommendations:**: + +- Go to {URL}:6767/settings/general and set `Unmonitor Deleted Subtitles` to + true. +- Go to "Settings" > "Audio Synchronization / Alignment" > "Automatic + Subtitles Audio Synchronization" + +## Prowlarr + +**Initial setup**: + +- Open your browser and go to `{URL}:9696`. +- You will be asked to set up a new account. + - Choose `Forms` as the auth method and choose a username & password. + - You can now log in. +- Go to "Settings" > "Apps" and add your _Arrs_. + - Get the API key by typing `sudo nixarr list-api-keys` in your terminal. diff --git a/flake.lock b/flake.lock index 28ed4d2..742fa94 100644 --- a/flake.lock +++ b/flake.lock @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1750078291, - "narHash": "sha256-VfEXZ2gcOB4M9y0fjxazJcChJyzNe5WiP7v3tgH04kM=", + "lastModified": 1750317638, + "narHash": "sha256-B4RWcXXOLO6gMeYyV+K4olu+kGGsYamKH+JAm0cIXqI=", "owner": "rasmus-kirk", "repo": "website-builder", - "rev": "f4605389da7159424a53bcd8781be0e59c63a325", + "rev": "b54192000a00e865947f45bacf3184d56363ee38", "type": "github" }, "original": { diff --git a/nixarr/nixarr-command/default.nix b/nixarr/nixarr-command/default.nix index e78ef07..8a0d8d3 100644 --- a/nixarr/nixarr-command/default.nix +++ b/nixarr/nixarr-command/default.nix @@ -95,7 +95,7 @@ with lib; let find "${nixarr.readarr.stateDir}" \( -type d -exec chmod 0700 {} + -true \) -o \( -exec chmod 0600 {} + \) ''} ${strings.optionalString nixarr.readarr-audiobook.enable '' - chown -R ${globals.readarr.user}:root "${nixarr.readarr-audiobook.stateDir}" + chown -R ${globals.readarr-audiobook.user}:root "${nixarr.readarr-audiobook.stateDir}" find "${nixarr.readarr-audiobook.stateDir}" \( -type d -exec chmod 0700 {} + -true \) -o \( -exec chmod 0600 {} + \) ''} ${strings.optionalString nixarr.jellyseerr.enable '' diff --git a/nixarr/transmission/cross-seed/default.nix b/nixarr/transmission/cross-seed/default.nix index b637b77..929b12b 100644 --- a/nixarr/transmission/cross-seed/default.nix +++ b/nixarr/transmission/cross-seed/default.nix @@ -6,6 +6,7 @@ }: with lib; let cfg = config.util-nixarr.services.cross-seed; + globals = config.util-nixarr.globals; settingsFormat = pkgs.formats.json {}; settingsFile = settingsFormat.generate "settings.json" cfg.settings; configJs = pkgs.writeText "config.js" '' diff --git a/util/globals/default.nix b/util/globals/default.nix index 99087cb..628e27b 100644 --- a/util/globals/default.nix +++ b/util/globals/default.nix @@ -93,7 +93,7 @@ in { }; readarr-audiobook = { user = "readarr-audiobook"; - readarr-group = globals.libraryOwner.group; + group = globals.libraryOwner.group; }; recyclarr = { user = "recyclarr";