Trying to be as helpful as I can, I think you might consider streaming (Plex/Jellyfin) and downloading (*arrs) as two seperate concerns.
Arrs:
For now don’t worry about anything other than sonarr (tv shows) or radarr (movies). you can add the more complexity once you get it working.
These *arrs do two main things:
Connect to a “transport” to get new media or update existing media. This is a torrent client or a nzb/usenet client.
Manage your media files (such as storage strategies).
I would create a minimum viable config like this:
[sonarr] ----> [transmission or whatever torrent/nzb client]
at that point you should be able to download tv shows and you can building on it. Next steps might be nzbget, radarr or seerr (which is a very nice way to surface this functionality to your users), or connect things like prowlarr.
The other thing I would say is use something like Docker for this. Easy to make changes that way and provision new services. Here’s my arrs stack’s docker-compose.yml (which is by far not best practice, but it might help you)
Everyone one loves to talk about how they use jellyfin, but I suspect many more people quietly run Plex. You should probably try both, but some things to be aware:
Jellyfin:
Pros:
Very configurable and extensible with a massive plugin library
Free
No bloat
Excellent codec support
Cons:
No streaming tunnel. If you use cloudflare tunnel, you aren’t allowed to stream media. If you use pangolin, you can create something on Oracle’s free teir that should be good enough. but you need to configure and set that up. Plex just works out of the box
Significant security issues. I really don’t wont to start a flame war, but there are issues that I find concerning such as streams being no-auth etc. In their defence, they’re working through the issues. You could probably manage this with some good reverse proxy configs.
UI can be a bit slow on older hardware. Plex isn’t great either, but in my experience, Jellyfin is worse.
Plex
Pros:
Has an included tunnel service for remote access which requires very little configuration
Everything just works
UI is pretty responsive. Better than AWS Prime apps on my tv, worse than netflix/youtube.
Cons:
Not free. However, they frequently have significant sales on their lifetime membership.
Spammy home view. You can disable this on each client, but its just an extra level of confusion for non techies connecting to your system.
Very little extensibility. They use to support plugins but those days are pretty much gone.
It chokes on some HDR codecs on my 5 year old tv I find, where as jellyfin doesn’t
Personally, I think Plex is best if you want to access this stuff remotely and you haven’t yet configured a reverse tunnel that can stream media. If you have a pangolin, or you’re comfortable opening a port on your home router, or you have no need to stream remotely, then Jellyfin might be worth looking at if for no other reason than its ecosystem of plugins. I have both available remotely, but I use Plex more than I use Jellyfin.
Trying to be as helpful as I can, I think you might consider streaming (Plex/Jellyfin) and downloading (*arrs) as two seperate concerns.
Arrs:
For now don’t worry about anything other than sonarr (tv shows) or radarr (movies). you can add the more complexity once you get it working.
These *arrs do two main things:
I would create a minimum viable config like this:
[sonarr] ----> [transmission or whatever torrent/nzb client]
at that point you should be able to download tv shows and you can building on it. Next steps might be nzbget, radarr or seerr (which is a very nice way to surface this functionality to your users), or connect things like prowlarr.
The other thing I would say is use something like Docker for this. Easy to make changes that way and provision new services. Here’s my arrs stack’s docker-compose.yml (which is by far not best practice, but it might help you)
services: ############################## # Transport ############################## sabnzbd: image: 'linuxserver/sabnzbd:latest' container_name: sabnzbd extends: file: ../_templates/template.yaml service: large networks: - arrs-edge volumes: - './sabnzbd:/config' - '/media/web/downloads:/downloads' - '/media/web/incomplete-downloads:/incomplete-downloads' - '/media/web/watched:/watched' transmission-openvpn: image: haugene/transmission-openvpn container_name: transmission extends: file: ../_templates/template.yaml service: large networks: - arrs-edge devices: - /dev/net/tun cap_add: - NET_ADMIN ports: - 9091:9091 volumes: - /media/web/torrent-data:/data - /media/web/books-import/torrents:/data/watch - ./transmission/config:/config ############################## # Arrs ############################## radarr: image: lscr.io/linuxserver/radarr:latest container_name: radarr extends: file: ../_templates/template.yaml service: nolimit # environment: # - UMASK=022 volumes: - './radarr:/config' - '/media/movies:/movies' - '/media/web/downloads:/downloads' - '/media/web/torrent-data:/torrent-data' networks: - arrs-edge sonarr: image: ghcr.io/linuxserver/sonarr:develop container_name: sonarr extends: file: ../_templates/template.yaml service: nolimit volumes: - './sonarr:/config' - '/media/tv-shows-1:/tv-shows' - '/media/web/downloads:/downloads' - '/media/web/torrent-data:/torrent-data' - '/media/web/torrent-data/completed/sonarr:/data/completed/sonarr' - '/media/tv-shows-3:/tv-shows-2' networks: - arrs-edge prowlarr: image: lscr.io/linuxserver/prowlarr:latest container_name: prowlarr extends: file: ../_templates/template.yaml service: medium volumes: - ./prowlarr:/config networks: - arrs-edge seerr: image: ghcr.io/seerr-team/seerr:latest init: true container_name: seerr extends: file: ../_templates/template.yaml service: medium volumes: - ./seerr:/app/config networks: - arrs-edge - pangolin-arrs-edge healthcheck: test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1 start_period: 20s timeout: 3s interval: 15s retries: 3 restart: unless-stopped networks: arrs-edge: external: true pangolin-arrs-edge: external: truePlex vs Jellyfin
Everyone one loves to talk about how they use jellyfin, but I suspect many more people quietly run Plex. You should probably try both, but some things to be aware:
Jellyfin:
Pros:
Cons:
Plex
Pros:
Cons:
Personally, I think Plex is best if you want to access this stuff remotely and you haven’t yet configured a reverse tunnel that can stream media. If you have a pangolin, or you’re comfortable opening a port on your home router, or you have no need to stream remotely, then Jellyfin might be worth looking at if for no other reason than its ecosystem of plugins. I have both available remotely, but I use Plex more than I use Jellyfin.