Talome
Guides

Media Stack

Set up a complete self-hosted media server — Jellyfin, Sonarr, Radarr, Prowlarr, qBittorrent, and Overseerr — in one conversation.

The media stack is Talome's most popular use case. One message replaces a weekend of manual setup: installing six apps, configuring their APIs, wiring download clients, syncing indexers, mapping volumes, and verifying health. The AI does all of it in under two minutes.

Watch: Setting up a full media stack in one conversation

The Stack Explained

A self-hosted media server is a pipeline. Each app handles one stage:

AppRoleWhat It Does
Jellyfin or PlexMedia serverStreams your library to any device. Jellyfin is fully open-source; Plex has a free tier with optional premium features.
SonarrTV managementMonitors TV shows, searches for episodes, manages quality profiles, renames files
RadarrMovie managementSame as Sonarr, but for movies. Separate app because movies and TV have different release patterns.
ProwlarrIndexer managerCentralizes your search sources (indexers). Configure indexers once in Prowlarr, sync to all *arr apps.
qBittorrentDownload clientHandles the actual file transfers. Sonarr/Radarr tell it what to download; it reports back when done.
OverseerrRequest systemA clean web UI for family and friends to request movies and TV shows. Requests flow to Sonarr/Radarr automatically.

One-Message Setup

The fastest path from nothing to a working media server:

Talome Assistant
Set up a complete media stack. My media is at /mnt/media.

I will install Jellyfin, Sonarr, Radarr, Prowlarr, and qBittorrent, then wire everything together.

search_appsfound all 5 apps in Talome store
install_appjellyfin created, media mounted at /mnt/media
install_appsonarr created, media mounted at /mnt/media
install_appradarr created, media mounted at /mnt/media
install_appprowlarr created
install_appqbittorrent created, downloads at /mnt/media/Downloads

All five apps installed. Now wiring them together.

wire_appsdiscovered 5 media apps
arr_add_download_clientsonarr and radarr linked to qbittorrent
arr_add_root_folder/mnt/media/TV on Sonarr, /mnt/media/Movies on Radarr
arr_sync_indexers_from_prowlarrindexers synced to sonarr and radarr
check_service_healthall 5 apps healthy

Your media stack is running. Jellyfin at :8096, Sonarr at :8989, Radarr at :7878, Prowlarr at :9696, qBittorrent at :8080. Configuration complete: Sonarr and Radarr use qBittorrent as download client, root folders at /mnt/media/TV and /mnt/media/Movies, indexers synced from Prowlarr, Jellyfin pointed at /mnt/media for library scanning. Next step: add indexers in Prowlarr, then try "Search for Inception" to test the pipeline.

That's it. Five apps installed, APIs wired, volumes mapped, health verified. The AI remembered your media path from the conversation (and stored it as a memory for future use).

Volume Configuration

Media apps need to see the same files. The key is mapping your host media directory into every container that needs it.

Common Directory Structures

Linux (typical NAS mount):

/mnt/media/
├── Movies/
├── TV/
├── Music/
├── Downloads/
│   ├── complete/
│   └── incomplete/
└── Books/

macOS:

/Volumes/Media Vault/Media/
├── Movies/
├── TV Shows/
├── Downloads/
└── Music/

How Volumes Map

When the AI installs an app with volumeMounts, it maps your host directory into the container:

AppHost PathContainer PathWhy
Jellyfin/mnt/media/mediaScans and streams the full library
Sonarr/mnt/media/mediaMoves completed TV episodes to /media/TV
Radarr/mnt/media/mediaMoves completed movies to /media/Movies
qBittorrent/mnt/media/Downloads/downloadsStores downloads here; *arr apps hardlink or move from here

The critical rule: Sonarr/Radarr and qBittorrent must see the same filesystem for hardlinks to work. If Sonarr's /media and qBittorrent's /downloads are on the same host mount, file moves are instant (hardlink) instead of slow copies.

Fixing Volumes After Install

If you installed apps without specifying media paths:

Talome Assistant
Point Jellyfin at my media drive at /Volumes/Media Vault/Media
inspect_containerjellyfin: no media mount, only config and cache volumes

Jellyfin currently has no media mount — only config and cache volumes. Adding your media drive now.

add_volume_mountmounted /Volumes/Media Vault/Media to /media
restart_appjellyfin restarted
jellyfin_add_libraryMovies library created at /media/Movies
jellyfin_add_libraryTV Shows library created at /media/TV Shows
jellyfin_scan_libraryscan started

Done. Jellyfin now has two libraries:

  • Movies → /Volumes/Media Vault/Media/Movies
  • TV Shows → /Volumes/Media Vault/Media/TV Shows

Library scan started — it'll find your existing files automatically.

Step-by-Step (Manual Control)

If you prefer installing and configuring each app individually, the AI supports that too.

1. Install the Media Server

Talome Assistant
Install Jellyfin and point it at /mnt/media

The AI installs Jellyfin, maps your media volume, creates libraries for Movies and TV, and triggers an initial scan.

2. Install Sonarr and Radarr

Talome Assistant
Install Sonarr and Radarr with media at /mnt/media

Both apps install with the correct volume mapping. The AI creates root folders pointing to /mnt/media/TV and /mnt/media/Movies.

3. Install Prowlarr

Talome Assistant
Install Prowlarr and sync indexers to Sonarr and Radarr

Prowlarr installs. After you add indexers in Prowlarr's web UI, the AI syncs them to your *arr apps using arr_sync_indexers_from_prowlarr.

4. Install qBittorrent

Talome Assistant
Install qBittorrent and set it as the download client for Sonarr and Radarr

qBittorrent installs with downloads mapped to your media drive. The AI calls arr_add_download_client for both Sonarr and Radarr, pointing them at qBittorrent's API.

5. Wire Everything

If you installed apps separately and need to connect them:

Talome Assistant
Wire all my media apps together

The wire_apps tool auto-discovers installed media apps and configures their connections — download clients, root folders, and indexer sync.

Adding Overseerr

Once your core stack is running, Overseerr adds a clean request interface:

Talome Assistant
Install Overseerr and connect it to Jellyfin, Sonarr, and Radarr
install_appoverseerr installed and running on port 5055
overseerr_configure_jellyfinconnected to Jellyfin
overseerr_configure_sonarrconnected to Sonarr with HD-1080p profile
overseerr_configure_radarrconnected to Radarr with HD-1080p profile

Overseerr is running at http://localhost:5055 and connected to:

  • Jellyfin (user authentication + media availability checks)
  • Sonarr (TV requests → HD-1080p profile → /mnt/media/TV)
  • Radarr (movie requests → HD-1080p profile → /mnt/media/Movies)

Share the Overseerr URL with family and friends. When they request a movie, it flows automatically: Overseerr → Radarr → Prowlarr → qBittorrent → Jellyfin

Media Optimization

Talome includes a built-in media optimizer — 9 dedicated tools for analyzing and transcoding your library.

Scanning for Opportunities

Talome Assistant
Scan my movie library for optimization opportunities
scan_library_for_optimizationscanned 847 movies, found 23 candidates

Scanned 847 movies. Found 23 optimization candidates:

  • 12 HEVC files that could be transcoded to H.264 for wider device compatibility
  • 8 files with oversized bitrates (>20 Mbps for 1080p content)
  • 3 files with missing audio tracks (no English audio)

Estimated space savings: 41 GB. Want me to queue these for optimization?

Transcoding

Talome Assistant
Optimize the oversized files first
queue_optimization8 files queued for bitrate adjustment
get_optimization_statusoptimization running

Queued 8 files for optimization:

  • Target: reduce bitrate to 12 Mbps (visually lossless for 1080p)
  • Estimated time: 2 hours 15 minutes
  • Estimated savings: 28 GB

Progress is tracked in real-time. Check back with "How's the optimization going?" or I'll notify you when it's done.

Diagnosing Failures

Talome Assistant
Some optimizations failed — what happened?
diagnose_optimization_failures3 jobs failed: disk space, codec, OOM

3 jobs failed:

FileErrorFix
Interstellar.mkvOut of disk spaceNeed 4.2 GB free in temp dir
Dune.mkvCodec not supportedSource uses DV Profile 5 — skip
Matrix.mkvProcess killedRan out of memory during encode

I can reprocess the first and third after freeing space. Dune uses Dolby Vision Profile 5 which doesn't transcode cleanly — I'd recommend keeping it as-is.

reprocess_failed_jobsrequeued Interstellar.mkv and Matrix.mkv

Common Conversations

Searching and Adding Media

Talome Assistant
Search for The Bear
Add Inception to Radarr
Download the latest season of Severance
What movies are coming out this week?
Search for 4K releases of Oppenheimer

Monitoring Downloads

Talome Assistant
What's downloading right now?
Show me the Sonarr queue
Why is this download stuck at 43%?
How much is left in the qBittorrent queue?
Cancel the download for that wrong release

Library Management

Talome Assistant
What's in my movie library?
How many TV shows do I have?
Which shows are missing episodes?
Show me shows that haven't upgraded to my cutoff quality
Find all movies larger than 30 GB

Quality and Profiles

Talome Assistant
Change Sonarr's quality to prefer 1080p Bluray
What quality profiles does Radarr have?
Set minimum quality to WEBDL-720p for all shows
Why did Sonarr grab a 720p when I wanted 1080p?

Cleanup and Maintenance

Talome Assistant
Clean up completed downloads
How much disk space can I reclaim?
Show me Sonarr's blocklist
Remove failed downloads from the queue
What indexers are unhealthy?

Overseerr Requests

Talome Assistant
Show me pending media requests
Approve all movie requests
Decline the request for that reality show
How many requests came in this week?

Troubleshooting

Indexers Not Working

Talome Assistant
Sonarr says "no indexers available"
arr_list_indexerssonarr: 0 indexers configured
prowlarr_get_indexer_stats3 active indexers in Prowlarr

Sonarr has 0 indexers. Prowlarr has 3 indexers but they haven't been synced to Sonarr yet.

arr_sync_indexers_from_prowlarr3 indexers synced to sonarr

Fixed. Sonarr now has 3 indexers. Try searching again.

qBittorrent Connection Failed

Talome Assistant
Sonarr can't connect to qBittorrent
arr_list_download_clientsconfigured with host localhost:8080
arr_test_download_clientconnection failed
inspect_containerqbittorrent on talome network

The download client is configured with host "localhost:8080" but containers can't reach each other via localhost. The correct host is the container name on the Docker network.

arr_add_download_clientsonarr linked to qbittorrent:8080
arr_test_download_clientconnection test passed

Connection test passed. Sonarr can now reach qBittorrent at qbittorrent:8080 on the Docker network.

Volume Mount Issues

Talome Assistant
Jellyfin shows empty libraries
jellyfin_list_librariesMovies library pointing to /movies
inspect_containervolume mount: /mnt/media → /media

Found the issue. Jellyfin has a "Movies" library pointing to /movies inside the container, but the volume mount maps your host /mnt/media to /media. The library path doesn't match the mount.

jellyfin_add_librarycreated Movies library at /media/Movies

Created a new library with the correct path. The old empty library can be removed from Jellyfin's dashboard.

jellyfin_scan_libraryscan started

Scan started — your movies should appear within a few minutes.

Prowlarr Sync Failures

Talome Assistant
Prowlarr won't sync to Radarr
arr_get_statusradarr: running
inspect_containerprowlarr on default network
test_app_connectivityprowlarr cannot reach radarr

Prowlarr can't reach Radarr. They're on different Docker networks.

connect_container_to_networkprowlarr connected to talome_media

Connected Prowlarr to the media network. Syncing now:

arr_sync_indexers_from_prowlarr3 indexers synced to radarr

Success — 3 indexers synced to Radarr.

On this page