Sonarr automates TV show downloads — it monitors for new episodes, searches indexers, sends to your download client, and organizes the files into your library.
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- ${CONFIG_DIR}/sonarr:/config
- ${DATA_DIR}:/data
ports:
- "8989:8989"
restart: unless-stoppedThe entire ${DATA_DIR} is mounted as /data so hardlinks work between /data/torrents/tv and /data/media/tv.
- Open
http://your-server-ip:8989 - Set authentication: Settings → General → Authentication → Forms (Login Page)
- Create a username and password
- Note the API Key on the General page — you'll need it for Prowlarr, Unpackerr, and Notifiarr
Settings → Download Clients → + → qBittorrent
| Field | Value |
|---|---|
| Host | qbittorrent |
| Port | 8080 |
| Username | your qBit username |
| Password | your qBit password |
| Category | tv |
Test the connection, then save.
Settings → Media Management → Root Folders → Add Root Folder
- Path:
/data/media/tv
Sonarr ships with default profiles. For optimized quality settings, follow the TRaSH Guides:
At minimum:
- Settings → Quality: Adjust size limits per quality if needed
- Settings → Profiles: Select or customize a quality profile (e.g., "HD-1080p" for most users)
If you already have TV shows on disk:
- Go to Series → Import Existing Series
- Point to
/data/media/tv - Sonarr will match folders to series — review and confirm
Settings → Media Management:
- Rename Episodes: Yes
- Standard Episode Format:
{Series TitleYear} - S{season:00}E{episode:00} - {Episode CleanTitle} [{Quality Full}]{[MediaInfo VideoDynamicRangeType]} - Season Folder Format:
Season {season:00} - Create empty series folders: Yes
- Delete empty folders: Yes
Settings → Indexers:
Indexers are managed by Prowlarr — see prowlarr.md. After Prowlarr syncs, they'll appear here automatically.
Prowlarr pushes indexers to Sonarr automatically. You don't need to add indexers manually in Sonarr. See prowlarr.md.
Downloads stuck at "Importing": Check that the download category in qBittorrent matches what Sonarr expects (tv). Check file permissions.
Hardlinks not working: Verify that both /data/torrents/tv and /data/media/tv are under the same Docker volume mount. See storage.md.
Series not matching: Use the search bar to manually search and map a series to the correct TVDB entry.
- Radarr — same workflow, but for movies
- Prowlarr — manage indexers centrally
- Back to main README