NOTE: This is PAGE 2 of Ultimate Starter - Jellyfin, Jellyseerr, NZBGet, Torrents and *ARR Media Stack
PART 8 - Configuring the *ARR Media Library Managers / Index Manager
Prowlarr *ARR Indexer and Search Manager: http://localhost:9696
Now that we have both the Download Clients set up on Page 1, we're going to set up Prowlarr, which is an index and search manager for all the ARR applications; it handles search requests on behalf of Sonarr, Radarr, Lidarr etc.. to all the indexers, and returns the results to each ARR application that initiated the index search.
1. In "Indexers" -- "Add Indexer", to get started, add about eight indexers which are listed as public - these will mostly be Torrent indexers, as all NZB Indexers are private and you need an account to access the indexer services.
2. Make sure you select a Base URL and test the connection before saving. Some indexers have multiple URLs to choose from, and you may need to change the Base URL if any on them fail the connection test.
3. Once you have several indexers, select "Test All Indexers" to test their connectivity / status.
4. You can also test the "Search" function by typing "Big Buck Bunny" and checking that results are returned - Do not download anything yet, there is much more to set up before importing media.
NOTE: If you're using Windows as your Docker host, you may need to open up network ports in the Windows 11 firewall, before you can access the web portals from the local network:
5. "Settings" -- "Indexers" menu: Only used if you need index proxies
6. "Settings" -- "Apps" menu: Go to all the other ARR applications listed below, then navigate to "Settings" -- "General" and copy the API Key from each application. Then back in Prowlarr, click "Add Application", and use the API Key to link the other application to Prowlarr.
For example: To add Radarr
NOTE For Mylar: Go to "Settings" -- "Web Interface" -- Tick Enable API -- Generate API Key -- Save Changes -- Restart Mylar -- API Key can now be copied.
7. "Settings" -- "Download Clients" menu:
8. Add the "Root Folder" for all of the *ARR medial managers, so they are able to access / manage the media in each library.
NOTE: It is recommended you allow all of the Media Library Managers to totally manage your media, including the renaming and sorting of media into its own media folder structure and naming conventions. Select "Show Advanced" and follow the naming conventions in the table below, for the relevant media managers.
NOTE: Do not add your own media into your media folders yet, we will prepare all of your existing media in steps further below, before importing into each of the media libraries, to ensure they're in a format that the *ARR applications will each read be able to identify and match to Internet media lookup searches.
NOTE: Prowlarr is an index and search manager, it does not manage media libraries.
Example set up steps for Radarr to manage media renaming
Example set up steps for Sonarr to manage media renaming
Complete remaining Media Library Managers as per step 8 guidance and table.
Mylar3 needs extra steps to get set up properly and integrated into Prowlarr
9. Complete these additional steps to configure Mylar3, which are slightly different to the rest of the *ARR family
NOTE: There is no need to manually update the Torrent / Usenet settings listed on this page, Prowlarr will
automatically make the relevant changes to search providers as they're added to the *ARR Index Manager.
10. Finish the basic customisation below for all of the *ARR settings:
"Settings" -- "UI" menu:
"Settings" -- "Indexers" menu:
"Settings" -- "Quality" menu:
Home Page For Each *APP Application:
Test Each of Your *APP Application:
NOTE: Whisparr - Adult Movie Industry Metadata
Whisparr will correctly locate metadata for adult movie industry content, however Jellyfin does not, for reasons we won't go into here. However, you can save the metadata for adult content from Whisparr into the movie folder on the hard drive, then Jellyfin can be set up to read and import the metadata correctly.
Go to "Whisparr" -- "Settings" -- "Metadata" -- "Edit Kodi (XBMC) / Emby Metadata" and select all options, except for "Use Movie.nfo", and save. This will create .nfo and cover art files inside the movie folder, which Jellyfin will scrape during import of the adult library.
NOTE: This technique can be used for other media types which do not work well in Jellyfin metadata look ups.
NOTE: If you have following this guide step by step, you'll probably notice the theme used across most of the applications is, or is not to your likely, you can change the theme to something that suites you suit by editing the following variable in the .ENV file, and redeploying your media stack configuration discussed on Page 1.
Refer to colour these codes at: Aquamarine - theme.park Docs
PART 9 - Organising Your Media Library And Importing Into *ARR Apps
Now that we've set up the Media Library Managers and Index Manager with the correct settings, including filenames for all media content, we can commence importing any of your current media repositories into the respective Media Library Managers for each media format type.
NOTE: The success of importing media files into the media libraries and having them identified correctly by the library managers, depends heavily on the how well they are organised and named in the first place. Don't expect to load random files which have no naming conventions, or cannot identify what the content is, to be picked up and imported correctly. Do some effort first to save you importing time - otherwise: the old adage is… shit in, shit out.
My personal preference is to use Filebot with the following renaming conventions to get things organised, before I manually add anything into the *ARR media folders.
Filebot Renaming Preset String for Series / TV Shows:
D:/Storage/renaming/series/{ny.colon(' - ').ascii()} [tmdbid-{id}]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
Filebot Renaming Preset String for Movies / Adult:
D:/Storage/renaming/movies/{ny.colon(' - ').ascii()} [imdbid-{imdbid}]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
Filebot Renaming Preset String for Music / Audio:
D:/Storage/renaming/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
Change "D:/Storage" to suit your requirements. Being on the same drive / partition as the original media which is being renamed, will save considerable time moving files between partitions or across network shares. i.e. Don't use a different partition / HDD as the destination, it will take forever.
NOTE: Do all media renaming outside of *ARR folders, then slowly control the import of the renamed media into each of the Library Managers.
Once you have prepared all of your current media folders, start importing a few series / movies at a time, to ensure the *ARR Library Manager is detecting the new media, and that you're comfortable with the process.
As you start adding files in the following folders, the files will be immediately accessible in each of the *ARR apps
Head over the your *ARR application to "Settings" -- "Media Management"… you'll note that the root folder "/data/media/series" etc... inside each Docker container now says there are a number of "Unmapped Folders".
To import the new media you copied into your FOLDER_FOR_MEDIA folders, open the link that says "Path: /data/media/series", it will now show the series / movies which you added, and will attempt to identify these new series / movies by looking them up via the Internet databases.
NOTE: This could take some time depending on how large the media library is.
NOTE: DO NOT IMPORT ANY MOVIE / SERIES WHICH ARE INCORRENTLY IDENTIFIED, RENAME THEM AND TRY TO IMPORT THEM AGAIN LATER
Select all of the folders / media which has been correctly identified by using the checkboxes on the left hand side, then down the bottom select whether to monitor the first season, or the entire season (this is your personal choice), then select the option "Import * Series" - This will commence the import and renaming if you opted to rename.
For any movie / series which was incorrectly identified, go to your local media directory and rename the folder, and then import the new folder after the *ARR manager correctly identifies the folder content.
Once identified, select "Import * Series". If successful, you will receive a message that says: All series in /data/media/imports have been imported.
Use the same process in all of the other *ARR applications to import your existing media library into the corresponding *ARR Media Library Manager.
NOTE:: If you do a lot of transcoding and changing the encoding types / bitrates across your library, the Filebot renaming strings can be used to update your media library as needed, however you'll need to refresh your *ARR Media Library Managers / Jellyfin to make sure they pick up the new names.
PART 10 - Configuring Jellyfin Media Server
#### Configuring Jellyfin to access all Media Libraries
Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
https://fanart.tv
https://opensubtitles.com (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
Repository Name: Daniel Adov
Repository URL: https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json
Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
These plugins should already be installed by default:
Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
"Playback" -- "Transcoding"
Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
Refer: Hardware Acceleration | Jellyfin
DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
"Libraries" -- "Display"
Date added behavior for new content: change to "Use date scanned into library".
"Libraries" -- "Metadata"
Select your language and country prior to setting up libraries and importing metadata.
## Adding Movie Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Movies
Display Name: Movies
Folders: Add - /data/media/movies
Preferred Language: Personal Choice
Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
Enable real time monitoring: Ticked
Order for Metadata Downloaders:
Order for Image Fetchers:
NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
## Adding Music Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Music
Display Name: Music
Folders: Add - /data/media/music
Preferred Language: Personal Choice
Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
Enable real time monitoring: Ticked
Order for Metadata Downloaders (Artists):
Order for Metadata Downloaders (Albums):
Order for Image Fetchers (Artists):
Order for Image Fetchers (Albums):
Automatically refresh metadata from the internet: Never
Order for Image Fetchers (Music Videos):
Save artwork into media folders: Ticked
## Adding TV Shows / Series Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Shows
Display Name: Series
Folders: Add - /data/media/series
Preferred Language: Personal Choice
Country: Personal Choice, however it is linked to the media rating on IMDB,
and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
Enable real time monitoring: Ticked
Order for Metadata Downloaders (TV Shows):
Order for Metadata Downloaders (Seasons):
Order for Metadata Downloaders (Episodes):
Automatically refresh metadata from the internet: Never
Order for Image Fetchers (TV Shows):
Order for Image Fetchers (Episodes):
## Adding Books Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Books
Display Name: Books
Folders: Add - /data/media/books
Enable real time monitoring: Ticked
## Adding Comic / Manga Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Books
Display Name: Comics
Folders: Add - /data/media/comics
Enable real time monitoring: Ticked
## Adding Photo Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Photos
Display Name: Photos
Folders: Add - /data/media/photos
Enable real time monitoring: Ticked
Order for Image Fetchers (Videos):
PART 11 - Configuring Jellyseerr
http://localhost:5055 jellyseerr
When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
Jellyfin URL: http://localhost:8096
Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
Username: Same username as Jellyfin
Password: Same password as Jellyfin
After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
NOTE: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
Radarr Settings:
Setting up non-4K defaults
Select "Add Radarr Server"
Default Server: Yes
4K Server: No
Server Name: Radarr - FHD 1080P
Hostname of IP Address: localhost
Port: 7878
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:7878/settings/general
URL Base: Empty
Quality Profile: HD-1080p
Root Folder: /data/media/movies
Minimum Availability: Released
Tags: Empty
External URL: http://media-server:7878 (Radarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
Setting up 4K defaults
Default Server: Yes
4K Server: Yes
Server Name: Radarr - UHD 4K
Hostname of IP Address: localhost
Port: 7878
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:7878/settings/general
URL Base: Empty
Quality Profile: Ultra-HD
Root Folder: /data/media/movies
Minimum Availability: Released
Tags: Empty
External URL: http://media-server:7878 (Radarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
Sonarr Settings:
Setting up non-4K defaults
Select "Add Sonarr Server"
Default Server: Yes
4K Server: No
Server Name: Sonarr - FHD 1080P
Hostname of IP Address: localhost
Port: 8989
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:8989/settings/general
URL Base: Empty
Quality Profile: HD-1080p
Root Folder: /data/media/series
Language Profile: * Personal Choice *
Tags: Empty
URL Base: Empty
Anime Quality Profile: HD-1080p
Anime Root Folder: /data/media/anime
Anime Language Profile: * Personal Choice *
Anime Tags: Empty
Season Folders: Yes
External URL: http://media-server:8989 (Sonarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
Setting up 4K defaults
Select "Add Sonarr Server"
Default Server: Yes
4K Server: No
Server Name: Sonarr - UHD 4K
Hostname of IP Address: localhost
Port: 8989
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:8989/settings/general
URL Base: Empty
Quality Profile: Ultra-HD
Root Folder: /data/media/series
Language Profile: * Personal Choice *
Tags: Empty
URL Base: Empty
Anime Quality Profile: Ultra-4K
Anime Root Folder: /data/media/anime
Anime Language Profile: * Personal Choice *
Anime Tags: Empty
Season Folders: Yes
External URL: http://media-server:8989 (Sonarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
Go to "Settings" -- "General" and make any changes to region and language as needed.
Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.
PART 8 - Configuring the *ARR Media Library Managers / Index Manager
Prowlarr *ARR Indexer and Search Manager: http://localhost:9696
Now that we have both the Download Clients set up on Page 1, we're going to set up Prowlarr, which is an index and search manager for all the ARR applications; it handles search requests on behalf of Sonarr, Radarr, Lidarr etc.. to all the indexers, and returns the results to each ARR application that initiated the index search.
1. In "Indexers" -- "Add Indexer", to get started, add about eight indexers which are listed as public - these will mostly be Torrent indexers, as all NZB Indexers are private and you need an account to access the indexer services.
2. Make sure you select a Base URL and test the connection before saving. Some indexers have multiple URLs to choose from, and you may need to change the Base URL if any on them fail the connection test.
3. Once you have several indexers, select "Test All Indexers" to test their connectivity / status.
4. You can also test the "Search" function by typing "Big Buck Bunny" and checking that results are returned - Do not download anything yet, there is much more to set up before importing media.
NOTE: If you're using Windows as your Docker host, you may need to open up network ports in the Windows 11 firewall, before you can access the web portals from the local network:
5. "Settings" -- "Indexers" menu: Only used if you need index proxies
6. "Settings" -- "Apps" menu: Go to all the other ARR applications listed below, then navigate to "Settings" -- "General" and copy the API Key from each application. Then back in Prowlarr, click "Add Application", and use the API Key to link the other application to Prowlarr.
For example: To add Radarr
- Name: Radarr
- Sync Level: Full Sync
- Prowlarr: Add "http://localhost:9696" Check the field to see if the text is actually in there.
- Reader: Add "http://localhost:7878" Check the field to see if the text is actually in there.
- API Key: Copied from Radarr application in "Settings" -- "General"
- Test and Save
NOTE For Mylar: Go to "Settings" -- "Web Interface" -- Tick Enable API -- Generate API Key -- Save Changes -- Restart Mylar -- API Key can now be copied.
*ARR Application: | Link to API Key: |
---|---|
Lidarr | http://localhost:8686/settings/general |
Mylar3 | http://localhost:8090/config Then Select "Web Interface" Tab |
Radarr | http://localhost:7878/settings/general |
Readarr | http://localhost:8787/settings/general |
Sonarr | http://localhost:8989/settings/general |
Whisparr | http://localhost:6969/settings/general |
Prowlarr | http://localhost:9696/settings/downloadclients |
7. "Settings" -- "Download Clients" menu:
- Go to all SEVEN of the ARR applications listed in the table below, then navigate to "Settings" -- "Download Clients" and add the following two download clients to each of the seven applications. Make sure you change the category for each application… the categories MUST be in lowercase.
ARR Application: | Download Category: (must be in lowercase) |
---|---|
Prowlarr | prowlarr |
Lidarr | music |
Mylar3 | comics |
Rradarr | movies |
Readarr | books |
Sonarr | series |
Whisparr | adult |
- Add NZBGet
- Name: NZBGet
- Host: localhost
- Port: 6789
- Username: nzbget Empty if you removed this earlier
- Password: tegbzn6789 Empty if you removed this earlier
- Category: < --- In "lowercase" - refer to table above, for each *ARR application category
- Add Transmission
- Name: Transmission
- Enabled: Ticked
- Host: localhost
- Port: 9091
- Username: empty
- Password: empty
- Category: < --- In "lowercase" - refer to table above, for each *ARR application category
8. Add the "Root Folder" for all of the *ARR medial managers, so they are able to access / manage the media in each library.
NOTE: It is recommended you allow all of the Media Library Managers to totally manage your media, including the renaming and sorting of media into its own media folder structure and naming conventions. Select "Show Advanced" and follow the naming conventions in the table below, for the relevant media managers.
NOTE: Do not add your own media into your media folders yet, we will prepare all of your existing media in steps further below, before importing into each of the media libraries, to ensure they're in a format that the *ARR applications will each read be able to identify and match to Internet media lookup searches.
Library Manager: | Media Path: | Media Renaming Conventions: |
---|---|---|
Lidarr: http://localhost:8686/settings/mediamanagement | /data/media/music | Lidarr Settings (No guidance available - refer to other apps in wiki) |
Mylar3: http://localhost:8090/config | /data/media/comics | Folder and File formats · mylar3/mylar3 Wiki (minor guidance) |
Radarr: http://localhost:7878/settings/mediamanagement | /data/media/movies | Radarr Settings |
Readarr: http://localhost:8787/settings/mediamanagement | /data/media/books | Readarr Settings |
Sonarr: http://localhost:8989/settings/mediamanagement | /data/media/series | Sonarr Settings |
Whisparr: http://localhost:6969/settings/mediamanagement | /data/media/adult | Whisparr Settings |
NOTE: Prowlarr is an index and search manager, it does not manage media libraries.
Example set up steps for Radarr to manage media renaming
- http://localhost:7878/settings/mediamanagement
- Turn on "Show Advanced" options
- Rename Movies: Ticked
- Replace Characters: Ticked
- Colon Replace: Replace with Space Dash Space
- Standard Movie Format: {Movie Title} ({Release Year}) - {Quality Title} {MediaInfo Simple}
- Movie Folder Format: {Movie Title} ({Release Year}) [imdbid-{ImdbId}]
- Create Empty Folders: Not Ticked
- Delete Empty Folders: Ticked # Depends on your preference
- Unmonitor Deleted Movies: Ticked
- Propers and Repacks: Prefer and Upgrade
- Analyze video files: Ticked
- Rescan Movie Folder: Always
- Change File Date: None
- Recycle Bin: Optional
- Set Permissions: Ticked # Depends on your preference
- Chmod Folder: 775 # Depends on your preference
- Chmod Group: users # Depends on your preference
Example set up steps for Sonarr to manage media renaming
- http://localhost:8989/settings/mediamanagement
- Turn on "Show Advanced" options
- Rename Episodes: Ticked
- Replace Illegal Characters: Ticked
- Standard Episode Format:
- {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
- Daily Episode Format:
- {Series Title} {Air-Date} - {Episode Title} {Quality Title} {MediaInfo Simple}
- Anime Episode Format:
- {Series Title} S{season:00}E{episode:00} - {Episode Title} {Quality Title} {MediaInfo Simple}
- Series Folder Format:
- {Series Title} ({Series Year}) [imdbid-{ImdbId}]
- Multi-Episode Style: Extend
- Create Empty Folders: Not Ticked
- Delete Empty Folders: Ticked # Depends on your preference
- Unmonitor Deleted Episodes: Ticked
- Propers and Repacks: Prefer and Upgrade
- Analyze video files: Ticked
- Rescan Episode Folder: Always
- Change File Date: None
- Recycle Bin: Optional
- Set Permissions: Ticked # Depends on your preference
- Chmod Folder: 775 # Depends on your preference
- Chmod Group: users # Depends on your preference
Complete remaining Media Library Managers as per step 8 guidance and table.
Mylar3 needs extra steps to get set up properly and integrated into Prowlarr
9. Complete these additional steps to configure Mylar3, which are slightly different to the rest of the *ARR family
- Go to Mylar3 "Settings" -- "Web Interface":
- ComicVine API Key:
- Go over to ComicVine at Gamespot, and register for a user account: Comic Vine When you're logged in to ComicVine, head to this page for your personal API Key: Comic Reviews, News, and Forums - Comic Vine
- Copy your Comic Vine API Key, then goto Mylar3 "Settings" -- "Web Interface" and copy the key into the field on the top right
- Basic HTTP Host: 0.0.0.0
- HTTP Port: 8090
- Authentication: None
- HTTP Usernam: Empty
- HTTP Password: Empty
- Comic Path Location: /data/media/comics
- Enforce Permissions: ticked
- Directory CHMOD: 0777
- File CHMOD: 0660
- Owner: 1000 --- Change this to the numeric PUID value of the Docker user account you created earlier
- Group: 1000 --- Change this to the numeric PGID value of the Docker user account you created earlier
- Mylar3 "Settings" -- "Download Settings"
- NZBget: Ticked
- NZBGet Host: http://localhost
- NZBGet Port: 6789
- NZBGet Username: Empty the field
- NZBGet Password: Empty the field
- NZBGet Download Directory: /data/usenet
- NZBGet Category: comics
- Enable Completed Download Handling: Ticked
- Usenet Retention (in days) - This depends on your Usenet service provider
- Use Torrents: Tickered
- Minimum # of seeders: 3
- NOTE: Seed numbers is a personnal choice, the lower the number could result in stalled downloads
- Transmission: Ticked
- Transmission Host: http://localhost
- Transmission Username: Empty the field
- Transmission Password: Empty the field
- Transmission Directory: /data/torrents
- Mylar3 "Settings" -- "Search Providers"
- Torrents: Ticked
- Enabled Torznab: Ticked
- Use Newznab: Ticked
NOTE: There is no need to manually update the Torrent / Usenet settings listed on this page, Prowlarr will
automatically make the relevant changes to search providers as they're added to the *ARR Index Manager.
10. Finish the basic customisation below for all of the *ARR settings:
*ARR Application: | Link to Settings Page |
---|---|
Prowlarr | http://localhost:9696/settings |
Lidarr | http://localhost:8686/settings |
Mylar3 | http://localhost:8090/config Then Select "Web Interface" Tab |
Radarr | http://localhost:7878/settings |
Readarr | http://localhost:8787/settings |
Sonarr | http://localhost:8989/settings |
Whisparr | http://localhost:6969/settings |
"Settings" -- "UI" menu:
- Set up all the system locale / date and time formats for your region / liking
"Settings" -- "Indexers" menu:
- These are a list of indexers, which are configured using Prowlarr, and replicated to each of the ARR applications. If you need to update your indexers, do this in Prowlarr.
"Settings" -- "Quality" menu:
- This page allows you to configure all the general quality, size limits, for all the different download options.
Home Page For Each *APP Application:
- Click "Options" icon on right hand side and select the viewable options to suit your needs.
Test Each of Your *APP Application:
- From the application home page, select "Add New", and search title for each application's media category.
- You should get search results for each of the media types that each application is responsible for managing.
NOTE: Whisparr - Adult Movie Industry Metadata
Whisparr will correctly locate metadata for adult movie industry content, however Jellyfin does not, for reasons we won't go into here. However, you can save the metadata for adult content from Whisparr into the movie folder on the hard drive, then Jellyfin can be set up to read and import the metadata correctly.
Go to "Whisparr" -- "Settings" -- "Metadata" -- "Edit Kodi (XBMC) / Emby Metadata" and select all options, except for "Use Movie.nfo", and save. This will create .nfo and cover art files inside the movie folder, which Jellyfin will scrape during import of the adult library.
NOTE: This technique can be used for other media types which do not work well in Jellyfin metadata look ups.
NOTE: If you have following this guide step by step, you'll probably notice the theme used across most of the applications is, or is not to your likely, you can change the theme to something that suites you suit by editing the following variable in the .ENV file, and redeploying your media stack configuration discussed on Page 1.
Code:
TP_THEME=nord
Refer to colour these codes at: Aquamarine - theme.park Docs
PART 9 - Organising Your Media Library And Importing Into *ARR Apps
Now that we've set up the Media Library Managers and Index Manager with the correct settings, including filenames for all media content, we can commence importing any of your current media repositories into the respective Media Library Managers for each media format type.
NOTE: The success of importing media files into the media libraries and having them identified correctly by the library managers, depends heavily on the how well they are organised and named in the first place. Don't expect to load random files which have no naming conventions, or cannot identify what the content is, to be picked up and imported correctly. Do some effort first to save you importing time - otherwise: the old adage is… shit in, shit out.
My personal preference is to use Filebot with the following renaming conventions to get things organised, before I manually add anything into the *ARR media folders.
Filebot Renaming Preset String for Series / TV Shows:
D:/Storage/renaming/series/{ny.colon(' - ').ascii()} [tmdbid-{id}]/Season {s00}/{ny.colon(' - ').ascii()} {s00e00} - {t.ascii()} {" - $hd $vf $vc $ac"}
Filebot Renaming Preset String for Movies / Adult:
D:/Storage/renaming/movies/{ny.colon(' - ').ascii()} [imdbid-{imdbid}]/{ny.colon(' - ').ascii()} {" - $hd $vf $vc $ac"}
Filebot Renaming Preset String for Music / Audio:
D:/Storage/renaming/music/{artist.upperInitial().ascii()}/{album.upperInitial().ascii()} ({y})/{albumArtist.upperInitial().ascii()} - {album.upperInitial().ascii()} - {pi.pad(3)+' - '} {t.ascii()}
Change "D:/Storage" to suit your requirements. Being on the same drive / partition as the original media which is being renamed, will save considerable time moving files between partitions or across network shares. i.e. Don't use a different partition / HDD as the destination, it will take forever.
NOTE: Do all media renaming outside of *ARR folders, then slowly control the import of the renamed media into each of the Library Managers.
Once you have prepared all of your current media folders, start importing a few series / movies at a time, to ensure the *ARR Library Manager is detecting the new media, and that you're comfortable with the process.
As you start adding files in the following folders, the files will be immediately accessible in each of the *ARR apps
Host Computer Folder Location: | *ARR Library Manager |
---|---|
FOLDER_FOR_MEDIA/adult | Whisparr |
FOLDER_FOR_MEDIA/books | Readarr |
FOLDER_FOR_MEDIA/comics | Mylar3 |
FOLDER_FOR_MEDIA/movies | Radarr |
FOLDER_FOR_MEDIA/music | Lidarr |
FOLDER_FOR_MEDIA/series | Sonarr |
Head over the your *ARR application to "Settings" -- "Media Management"… you'll note that the root folder "/data/media/series" etc... inside each Docker container now says there are a number of "Unmapped Folders".
To import the new media you copied into your FOLDER_FOR_MEDIA folders, open the link that says "Path: /data/media/series", it will now show the series / movies which you added, and will attempt to identify these new series / movies by looking them up via the Internet databases.
NOTE: This could take some time depending on how large the media library is.
NOTE: DO NOT IMPORT ANY MOVIE / SERIES WHICH ARE INCORRENTLY IDENTIFIED, RENAME THEM AND TRY TO IMPORT THEM AGAIN LATER
Select all of the folders / media which has been correctly identified by using the checkboxes on the left hand side, then down the bottom select whether to monitor the first season, or the entire season (this is your personal choice), then select the option "Import * Series" - This will commence the import and renaming if you opted to rename.
For any movie / series which was incorrectly identified, go to your local media directory and rename the folder, and then import the new folder after the *ARR manager correctly identifies the folder content.
Once identified, select "Import * Series". If successful, you will receive a message that says: All series in /data/media/imports have been imported.
Use the same process in all of the other *ARR applications to import your existing media library into the corresponding *ARR Media Library Manager.
NOTE:: If you do a lot of transcoding and changing the encoding types / bitrates across your library, the Filebot renaming strings can be used to update your media library as needed, however you'll need to refresh your *ARR Media Library Managers / Jellyfin to make sure they pick up the new names.
WARNING - THE BELOW INFORMATION IS STILL BEING FORMATTED FOR PRESENTATION - IT SHOULD BE ACCURATE, BUT DIFFICULT TO READ. AM CURRENTLY FORMATTING NOW.
PART 10 - Configuring Jellyfin Media Server
#### Configuring Jellyfin to access all Media Libraries
Firstly, head over and set up accounts at Fanart and Opensubtitles, so you can enrich your Jellyfin media content. Once you have accounts, you'll need to copy the API Key from each of your account profiles
https://fanart.tv
https://opensubtitles.com (opensubtitles.org and opensubtitles.com are the same, but .com is the newer site for accounts)
- Head over to Jellyfin at http://localhost:8096 where you will be welcomed to Jellyfin, choose your desired language and select "Next".
- Create a username / password for the first user account (it will become the admin account) - you can have a blank password if you desire - Select "Next".
- DO NOT ADD MEDIA at this time, select "Next", as we want to set up Fanart and other plugins first.
- Select your Metadata Language and Country and select "Next".
- Set up remote access: Remote connections (Ticked), Enable port mapping (No / Unticked) - Select "Next", the "Finsh".
- You'll be presented with a signin page, use the username / password entered previously.
Press the hamburger icon (3 lines) in top left corner to open the menu, then select "Dashboard", go down the bottom of the menu and open "Plugins", the select "Repositories" up the top, and add the following:
Repository Name: Daniel Adov
Repository URL: https://raw.githubusercontent.com/danieladov/JellyfinPluginManifest/master/manifest.json
Using the "Plugins" -- "Catalogue" menu, add the following plugins to your Jellyfin instance:
- AniDB
- AniList
- Fanart
- Merge Versions
- Open Subtitles
- Playback Reporting
- Reports
- Skin Manager
- TMDb Box Sets
- Tvmaze
- TheTVDB
These plugins should already be installed by default:
- AudioDB
- MusicBrainz - Installed by default
- OMDb - Installed by default
- Studio Images
- TMDb
Now that all of the plugins have been installed, go to Docker / Portainer, select the Jellyfin container and restart it. Then come back to Jellyfin config.
Open the hamburger menu in top left corner again and then select "Dashboard", go down the bottom of the menu and open "Plugins", and configure the following plugins:
- AniDB - Defaults
- AniList - Defaults
- Fanart - Add "Personal API Key" from your Fanart.tv account, and save.
- Merge Versions - Defaults
- Open Subtitles - Add Username / Password / API Key from your OpenSubtitles.com account, and save.
- Playback Reporting - Defaults
- Reports - Defaults
- Skin Manager - Select a skin of your choosing, however further customisation is outside the scope of this guide.
- TMDb - Include adult content (Optional), Import season name (Ticked), Max Cast Members (25), Image Scaling (Optional), and save.
- TMDb Box Sets - Defaults
- Tvmaze - Nil
- TheTVDB - If there is no API Key pre-installed, you will need to register at https://TheTVDB.com to obtain one.
"Playback" -- "Transcoding"
Depending on the computer / NAS you are running Docker / Jellyfin, its possible to use hardware acceleration for transcoding - this configuration has been set up to map /dev/dri from the docker container to the host, so it will work, but will be dependent upon your personal hardware configuration. You will need to seek further advise from the Jellyfin community at Reddit / Discord / Youtube on settings for your hardware.
Refer: Hardware Acceleration | Jellyfin
DLNA (Digital Living Network Alliance): As this guide and configuration is built around a secure contained network for the entire media docker stack, the ports and services needed to support DLNA have not been mapped and exposed to the host network. The docker configuration can be customised to allow for DLNA, however it is outside the scope of this starter guide. So these settings won't work unless the docker-compose is reconfigured by yourself.
"Libraries" -- "Display"
Date added behavior for new content: change to "Use date scanned into library".
"Libraries" -- "Metadata"
Select your language and country prior to setting up libraries and importing metadata.
## Adding Movie Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Movies
Display Name: Movies
Folders: Add - /data/media/movies
Preferred Language: Personal Choice
Country: Personal Choice, however it is linked to media ratings on IMDB, and will allow restrictions to children and other users depending on the content you have in the library.
Enable real time monitoring: Ticked
Order for Metadata Downloaders:
- TheMovieDB
- The Open Movie Database
- AniList
- AniDB
Order for Image Fetchers:
- Fanart
- TheMovieDB
- The Open Movie Database
- AniList
- AniDB
- Embedded Image Extractor (should be first for dedicated libraries with home video recordings / personal media)
- Screen Grabber (should be second for dedicated libraries with home video recordings / personal media)
- Language: Personal Choice
- Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
NOTE: If you choose to use an adult movie library, use the same process as above to set up a new / separate adult library, so access to be restricted to certain user accounts.
## Adding Music Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Music
Display Name: Music
Folders: Add - /data/media/music
Preferred Language: Personal Choice
Country: Personal Choice, however it is linked to media ratings on OMDB, and will allow restricting content to other users.
Enable real time monitoring: Ticked
Order for Metadata Downloaders (Artists):
- MusicBrainz
- TheAudioDB
Order for Metadata Downloaders (Albums):
- MusicBrainz
- TheAudioDB
Order for Image Fetchers (Artists):
- Fanart
- TheAudioDB
Order for Image Fetchers (Albums):
- Fanart
- TheAudioDB
Automatically refresh metadata from the internet: Never
Order for Image Fetchers (Music Videos):
- Fanart
- Embedded Image Extractor
- Screen Grabber
Save artwork into media folders: Ticked
## Adding TV Shows / Series Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Shows
Display Name: Series
Folders: Add - /data/media/series
Preferred Language: Personal Choice
Country: Personal Choice, however it is linked to the media rating on IMDB,
and will allow restrictions to children and other users depending on the categorisation you allow other users to access.
Enable real time monitoring: Ticked
Order for Metadata Downloaders (TV Shows):
- TheTVDB
- Tvmaze
- AniList
- AniDB
- TheMovieDB
- The Open Movie Database
- Missing Episode Fetcher
Order for Metadata Downloaders (Seasons):
- TheTVDB
- AniDB
- TheMovieDB
Order for Metadata Downloaders (Episodes):
- TheTVDB
- Tvmaze
- AniDB
- TheMovieDB
- The Open Movie Database
Automatically refresh metadata from the internet: Never
Order for Image Fetchers (TV Shows):
- Fanart
- TVmaze
- TheTVDB
- AniDB
- AniList
- TheMovieDB
- Fanart
- TVmaze
- TheTVDB
- AniDB
- AniList
- TheMovieDB
Order for Image Fetchers (Episodes):
- TVmaze
- TheTVDB
- TheMovieDB
- The Open Movie Database
- Embedded Image Extractor
- Screen Grabber
- Language: Personal Choice
- Subtitle Downloaders - Open Subtitles: Ticked (Disable for libraries with dedicated home video recordings / personal media)
## Adding Books Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Books
Display Name: Books
Folders: Add - /data/media/books
Enable real time monitoring: Ticked
## Adding Comic / Manga Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Books
Display Name: Comics
Folders: Add - /data/media/comics
Enable real time monitoring: Ticked
## Adding Photo Content
"Libraries" -- "Libraries" and select "Add Media Library"
Content Type: Photos
Display Name: Photos
Folders: Add - /data/media/photos
Enable real time monitoring: Ticked
Order for Image Fetchers (Videos):
- Embedded Image Extractor
- Screen Grabber
PART 11 - Configuring Jellyseerr
http://localhost:5055 jellyseerr
When you open Jellyseer for the first time, you'll be asked to sign in… select "Use your Jellyfin Account", and enter the details from your Jellyfin server in order to link it to Jellyseerr.
Jellyfin URL: http://localhost:8096
Email Address: The email address is only used if you want to set up notifications when media has been downloaded, however it is a mandatory field.
Username: Same username as Jellyfin
Password: Same password as Jellyfin
After connecting Jellyseerr to Jellyfin, you will need to synchronise the libraries between the two applications.
Select "Sync Libraries", then use the slide toggle to select "Movies" and "Series", However…. DO NOT PRESS "START SCAN", skip the library scan and go straight to "Continue".
NOTE: We skip the library scan on initial setup as it can take quite a while to scan the libraries, it is also dependant on Jellyfin having its libraries fully scanned and up to date, so it will be better to scan the libraries after all the configurations are completed.
NOTE: Adult Content - Jellyseerr does not manage Adult content requests, so if you are using Whisparr, the library will appear in "Jellyfin Libraries", however there is no need to activate it for syncing. If the library exists in Jellyfin, it will be seen in Jellyseerr, you just don't need to enable it.
Radarr Settings:
Setting up non-4K defaults
Select "Add Radarr Server"
Default Server: Yes
4K Server: No
Server Name: Radarr - FHD 1080P
Hostname of IP Address: localhost
Port: 7878
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:7878/settings/general
URL Base: Empty
Quality Profile: HD-1080p
Root Folder: /data/media/movies
Minimum Availability: Released
Tags: Empty
External URL: http://media-server:7878 (Radarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
Setting up 4K defaults
Default Server: Yes
4K Server: Yes
Server Name: Radarr - UHD 4K
Hostname of IP Address: localhost
Port: 7878
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:7878/settings/general
URL Base: Empty
Quality Profile: Ultra-HD
Root Folder: /data/media/movies
Minimum Availability: Released
Tags: Empty
External URL: http://media-server:7878 (Radarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
Sonarr Settings:
Setting up non-4K defaults
Select "Add Sonarr Server"
Default Server: Yes
4K Server: No
Server Name: Sonarr - FHD 1080P
Hostname of IP Address: localhost
Port: 8989
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:8989/settings/general
URL Base: Empty
Quality Profile: HD-1080p
Root Folder: /data/media/series
Language Profile: * Personal Choice *
Tags: Empty
URL Base: Empty
Anime Quality Profile: HD-1080p
Anime Root Folder: /data/media/anime
Anime Language Profile: * Personal Choice *
Anime Tags: Empty
Season Folders: Yes
External URL: http://media-server:8989 (Sonarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
Setting up 4K defaults
Select "Add Sonarr Server"
Default Server: Yes
4K Server: No
Server Name: Sonarr - UHD 4K
Hostname of IP Address: localhost
Port: 8989
Use SSL: No
API Key: Can be found in Radarr application on "Settings" -- "General" page.
http://localhost:8989/settings/general
URL Base: Empty
Quality Profile: Ultra-HD
Root Folder: /data/media/series
Language Profile: * Personal Choice *
Tags: Empty
URL Base: Empty
Anime Quality Profile: Ultra-4K
Anime Root Folder: /data/media/anime
Anime Language Profile: * Personal Choice *
Anime Tags: Empty
Season Folders: Yes
External URL: http://media-server:8989 (Sonarr's network address, used in links when sending email notifications)
Enable Scan: Yes
Enable Automatic Search: Yes
Test and Save.
After adding the connectors to Radarr and Sonarr, Jellyseerr will be fully functional, however we want to do some additional configurations before importing users and media information from Jellyfin.
Go to "Settings" -- "General" and make any changes to region and language as needed.
Go to "Settings" -- "Users" and make any changes for users, you may want to change the default permissions assigned to new users.
If you want to allow all users to automatically request, approve and download any media type and quality up to 1080P, then you would select "Request", "Auto-Approved", and "Auto-Request". You can select additional permissions and allow automated 4K requests, however the data will quickly add up on the server if is it not controlled, so grant this privilege with due care.
NOTE: These privileges / permissions are applied when new accounts are created or imported from Jellyfin, they do not effect existing user accounts.
Go to "Settings" -- "Jellyfin" and select "Start Scan" to commence scanning the Jellyfin libraries for all media.
Go to "Settings" -- "Notifications", you can add any email server settings or integrations if you want to get notifications on the status of your media requests.
Go to the "Users" menu, and you can now create local users, or "Import Jellyfin Users" (preferred). The new users will be granted the privileges / permissions which we set up earlier.