Sonarr replaces proprietary DVR setups with an open-source TV automation daemon that monitors indexers, manages downloads, and upgrades file quality.
Sonarr migrated its core runtime from Mono to .NET 6 to deliver faster feed parsing and lower memory usage across episode libraries. The background daemon queries Usenet and BitTorrent indexers against series calendars, sending matching releases to download clients and sorting completed files into standardized directories. For homelab administrators managing private media servers, it provides the central automation link between content sources and personal streaming storage.
Plex DVR requires a paid Plex Pass subscription and physical TV tuners, like an HDHomeRun, to capture over-the-air broadcasts. It saves streams into local storage while binding recording schedules to Plex's proprietary server stack. Sonarr approaches television management through an open architecture: instead of coupling collection to broadcast signals and a single server platform, it orchestrates automated episode fetching across independent Usenet daemons, BitTorrent clients, and indexer aggregators.
Plex DVR remains practical for archiving live regional news and televised sports that never appear on indexers. For episodic television, however, its closed ecosystem lacks the granular scoring profiles and multi-platform publishing that self-hosters expect. Sonarr connects natively with Prowlarr and Jackett for indexer aggregation, routes downloads to SABnzbd or qBittorrent via custom categories, and signals Jellyfin, Emby, and Plex through automated library refresh hooks when new files finish importing.
Can Sonarr record live broadcast television? No. Sonarr manages completed episode files from indexers and download clients, but cannot connect to television tuners or capture live broadcasts.
Sonarr vs Plex DVR — which should I choose? Choose Plex DVR if you need to record live sports and local news directly from an antenna; choose Sonarr if you want an automated pipeline that downloads, upgrades, and renames episodic television for any media server.
Does Sonarr download video files directly? No. Sonarr monitors indexers and sends grab requests to dedicated download clients such as SABnzbd or qBittorrent, importing and renaming files once downloads finish.
Sonarr provides the standard automation backbone for self-hosted television collections if you are comfortable configuring your own indexers and download daemons, though operators wanting turn-key antenna recording will need dedicated tuner software instead. The project maintains an active release schedule with ongoing code updates under the GPL-3.0, ensuring long-term independence from commercial subscription fees across your home server infrastructure.
Commands from the official package registries. Each package is matched to Sonarr through the registry's own link to its source code or website.
winget install --id TeamSonarr.Sonarr -eWe started this exact setup from scratch in a clean Linux machine on Nov 1, 2026 and checked it through Sonarr's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p sonarr && cd sonarr
curl -fsSL https://open-source.store/tools/sonarr/compose.yml -o compose.ymlcat > .env <<EOF
SONARR_API_KEY=$(openssl rand -hex 16)
EOFSONARR_API_KEY — API key for authenticating with Sonarr and connecting external tools. Generated above; keep it secret.docker compose up -dservices:
sonarr:
image: lscr.io/linuxserver/sonarr:4.0.20.3014-ls329
environment:
PUID: 1000
PGID: 1000
TZ: Etc/UTC
SONARR__AUTH__APIKEY: ${SONARR_API_KEY}
volumes:
- sonarr-config:/config
- sonarr-tv:/tv
ports:
- "8989:8989"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8989/ping || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
volumes:
sonarr-config:
sonarr-tv:
Free IDE for Java, Kotlin, Go, TypeScript and Python. Built on IntelliJ Community, fully open source, 300+ plugins.
Show that Sonarr is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 11 s: lscr.io/linuxserver/sonarr:4.0.20.3014-ls329.
Based on the upstream setup. LinuxServer.io compose (the Docker image Sonarr's install docs point to); image pinned to 4.0.20.3014-ls329, API key moved to .env, healthcheck added.
sonarr-1 | 2026-11-01T09:57:31.432880962Z [Warn] StaticResourceController: Couldn't find handler for /schema.prisma sonarr-1 | 2026-11-01T09:57:31.433065129Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:31.433170004Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:31.433290629Z [Warn] StaticResourceController: Couldn't find handler for /updating.jsp sonarr-1 | 2026-11-01T09:57:31.433403587Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:31.433691921Z [Warn] StaticResourceController: Couldn't find handler for /schema.prisma sonarr-1 | 2026-11-01T09:57:31.433986754Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:31.434156921Z [Warn] StaticResourceController: Couldn't find handler for /SecurityGateway.dll sonarr-1 | 2026-11-01T09:57:31.434464296Z [Warn] StaticResourceController: Couldn't find handler for /exchweb/bin/redir.asp sonarr-1 | 2026-11-01T09:57:31.435546462Z [Warn] StaticResourceController: Couldn't find handler for /uploads/elfinder/elfinder-cke.html sonarr-1 | 2026-11-01T09:57:31.435737796Z [Warn] StaticResourceController: Couldn't find handler for /concrete5/index.php/install sonarr-1 | 2026-11-01T09:57:31.435885671Z [Warn] StaticResourceController: Couldn't find handler for /concrete5/index.php/install sonarr-1 | 2026-11-01T09:57:31.440257546Z [Warn] StaticResourceController: Couldn't find handler for /test.txt sonarr-1 | 2026-11-01T09:57:31.441202671Z [Warn] StaticResourceController: Couldn't find handler for /CookieAuth.dll sonarr-1 | 2026-11-01T09:57:31.441653129Z [Warn] StaticResourceController: Couldn't find handler for /version.web sonarr-1 | 2026-11-01T09:57:31.441825754Z [Warn] StaticResourceController: Couldn't find handler for /version.web sonarr-1 | 2026-11-01T09:57:31.441933587Z [Warn] StaticResourceController: Couldn't find handler for /ajax-api/2.0/mlflow-artifacts/artifacts sonarr-1 | 2026-11-01T09:57:31.442236962Z [Warn] StaticResourceController: Couldn't find handler for /prisma/schema.prisma sonarr-1 | 2026-11-01T09:57:31.442808046Z [Warn] StaticResourceController: Couldn't find handler for /user_secrets.yml sonarr-1 | 2026-11-01T09:57:31.442911754Z [Warn] StaticResourceMapper: File /app/sonarr/bin/UI/content.infinity.json not found sonarr-1 | 2026-11-01T09:57:31.443014004Z [Warn] StaticResourceController: Couldn't find handler for /prisma/schema.prisma sonarr-1 | 2026-11-01T09:57:31.443105962Z [Warn] StaticResourceController: Couldn't find handler for /.gem/credentials sonarr-1 | 2026-11-01T09:57:31.443382546Z [Warn] StaticResourceController: Couldn't find handler for /CookieAuth.dll sonarr-1 | 2026-11-01T09:57:31.443668171Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/uploads/fifu-plugin.log sonarr-1 | 2026-11-01T09:57:31.443774671Z [Warn] StaticResourceController: Couldn't find handler for /user_secrets.yml sonarr-1 | 2026-11-01T09:57:31.443884671Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/elementor/readme.txt sonarr-1 | 2026-11-01T09:57:31.443985587Z [Warn] StaticResourceMapper: File /app/sonarr/bin/UI/content.infinity.json not found sonarr-1 | 2026-11-01T09:57:31.444105837Z [Warn] StaticResourceController: Couldn't find handler for /ajax-api/2.0/mlflow-artifacts/artifacts sonarr-1 | 2026-11-01T09:57:31.444196962Z [Warn] StaticResourceController: Couldn't find handler for /cgi-bin/nas_sharing.cgi sonarr-1 | 2026-11-01T09:57:31.444433712Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/uploads/fifu-plugin.log sonarr-1 | 2026-11-01T09:57:31.444602379Z [Warn] StaticResourceController: Couldn't find handler for /windows/win.ini sonarr-1 | 2026-11-01T09:57:31.444759171Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/elementor/readme.txt sonarr-1 | 2026-11-01T09:57:31.444856671Z [Warn] StaticResourceController: Couldn't find handler for /cgi-bin/nas_sharing.cgi sonarr-1 | 2026-11-01T09:57:31.444951879Z [Warn] StaticResourceController: Couldn't find handler for /.gem/credentials sonarr-1 | 2026-11-01T09:57:31.445045379Z [Warn] StaticResourceController: Couldn't find handler for /windows/win.ini sonarr-1 | 2026-11-01T09:57:31.447131296Z [Warn] StaticResourceController: Couldn't find handler for /test.txt sonarr-1 | 2026-11-01T09:57:31.448412087Z [Warn] StaticResourceController: Couldn't find handler for /src/prisma/schema.prisma sonarr-1 | 2026-11-01T09:57:32.427006588Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/uploads/fifu-cloud.log sonarr-1 | 2026-11-01T09:57:32.427336504Z [Warn] StaticResourceController: Couldn't find handler for /db/schema.prisma sonarr-1 | 2026-11-01T09:57:32.431089129Z [Warn] StaticResourceController: Couldn't find handler for /bitrix/components/bitrix/mobileapp.list/ajax.php/ sonarr-1 | 2026-11-01T09:57:32.431761546Z [Warn] StaticResourceController: Couldn't find handler for /user_secrets.yml.old sonarr-1 | 2026-11-01T09:57:32.431896879Z [Warn] StaticResourceController: Couldn't find handler for /InsightPluginShowGeneralConfiguration.jspa; sonarr-1 | 2026-11-01T09:57:32.432547671Z [Warn] StaticResourceController: Couldn't find handler for /web/index.html sonarr-1 | 2026-11-01T09:57:32.432631671Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/uploads/fifu-cloud.log sonarr-1 | 2026-11-01T09:57:32.433094463Z [Warn] StaticResourceController: Couldn't find handler for /src/prisma/schema.prisma sonarr-1 | 2026-11-01T09:57:32.433463838Z [Warn] StaticResourceController: Couldn't find handler for /user_secrets.yml.old sonarr-1 | 2026-11-01T09:57:32.433628213Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:32.434188713Z [Warn] StaticResourceController: Couldn't find handler for /bitrix/components/bitrix/mobileapp.list/ajax.php/ sonarr-1 | 2026-11-01T09:57:32.436240504Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:32.436269671Z [Warn] StaticResourceController: Couldn't find handler for /web/index.html sonarr-1 | 2026-11-01T09:57:32.436272796Z [Warn] StaticResourceController: Couldn't find handler for /public/ticket/ajax/ajax.php sonarr-1 | 2026-11-01T09:57:32.436432296Z [Warn] StaticResourceController: Couldn't find handler for /InsightPluginShowGeneralConfiguration.jspa; sonarr-1 | 2026-11-01T09:57:32.437078546Z [Warn] StaticResourceController: Couldn't find handler for /config/development.sphinx.conf sonarr-1 | 2026-11-01T09:57:32.452040046Z [Warn] StaticResourceController: Couldn't find handler for /public/ticket/ajax/ajax.php sonarr-1 | 2026-11-01T09:57:32.452059588Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:32.452060588Z [Warn] StaticResourceController: Couldn't find handler for /.prisma/schema.prisma sonarr-1 | 2026-11-01T09:57:32.452061296Z [Warn] StaticResourceController: Couldn't find handler for /.gem/credentials.yaml sonarr-1 | 2026-11-01T09:57:32.452061879Z [Warn] StaticResourceController: Couldn't find handler for /config/development.sphinx.conf sonarr-1 | 2026-11-01T09:57:32.452062463Z [Warn] StaticResourceController: Couldn't find handler for /index.php sonarr-1 | 2026-11-01T09:57:32.452062963Z [Warn] StaticResourceController: Couldn't find handler for /.gem/credentials.yaml sonarr-1 | 2026-11-01T09:57:32.452063504Z [Warn] StaticResourceController: Couldn't find handler for /index.php/javascript:alert(document.domain);dd// sonarr-1 | 2026-11-01T09:57:32.452064463Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.452065088Z [Warn] StaticResourceController: Couldn't find handler for /core/authorize.php sonarr-1 | 2026-11-01T09:57:32.452065629Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.452066213Z [Warn] StaticResourceController: Couldn't find handler for /index.php/javascript:alert(document.domain);dd// sonarr-1 | 2026-11-01T09:57:32.452066796Z [Warn] StaticResourceController: Couldn't find handler for /bitrix/components/bitrix/mobileapp.list/ajax.php/ sonarr-1 | 2026-11-01T09:57:32.452067379Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/mail-masta/inc/campaign/count_of_send.php sonarr-1 | 2026-11-01T09:57:32.452067921Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/mail-masta/inc/campaign/count_of_send.php sonarr-1 | 2026-11-01T09:57:32.452068504Z [Warn] StaticResourceController: Couldn't find handler for /"onload=alert(document.domain);> sonarr-1 | 2026-11-01T09:57:32.452069129Z [Warn] StaticResourceController: Couldn't find handler for /secure/WBSGanttManageScheduleJobAction.jspa; sonarr-1 | 2026-11-01T09:57:32.452069671Z [Warn] StaticResourceController: Couldn't find handler for /"onload=alert(document.domain);> sonarr-1 | 2026-11-01T09:57:32.452084213Z [Warn] StaticResourceController: Couldn't find handler for /config/production.sphinx.conf sonarr-1 | 2026-11-01T09:57:32.452085338Z [Warn] StaticResourceController: Couldn't find handler for /OS/startup/restore/restoreAdmin.php sonarr-1 | 2026-11-01T09:57:32.452085963Z [Warn] StaticResourceController: Couldn't find handler for /.ssh/authorized_keys sonarr-1 | 2026-11-01T09:57:32.452086713Z [Warn] StaticResourceController: Couldn't find handler for /OS/startup/restore/restoreAdmin.php sonarr-1 | 2026-11-01T09:57:32.452087296Z [Warn] StaticResourceController: Couldn't find handler for /secure/WBSGanttManageScheduleJobAction.jspa; sonarr-1 | 2026-11-01T09:57:32.452087879Z [Warn] StaticResourceController: Couldn't find handler for /.ssh/authorized_keys sonarr-1 | 2026-11-01T09:57:32.452333921Z [Warn] StaticResourceController: Couldn't find handler for /vendor/diablomedia/zendframework1-http/tests/Zend/Http/Client/_files/testRedirections.php sonarr-1 | 2026-11-01T09:57:32.452489963Z [Warn] StaticResourceController: Couldn't find handler for /WEBACCOUNT.CGI sonarr-1 | 2026-11-01T09:57:32.452610796Z [Warn] StaticResourceController: Couldn't find handler for /badging/badge_print_v0.php sonarr-1 | 2026-11-01T09:57:32.452822171Z [Warn] StaticResourceController: Couldn't find handler for /badging/badge_print_v0.php sonarr-1 | 2026-11-01T09:57:32.452984879Z [Warn] StaticResourceController: Couldn't find handler for /command/prima-factory.cgi sonarr-1 | 2026-11-01T09:57:32.453102879Z [Warn] StaticResourceController: Couldn't find handler for /plus/feedback.php/rp4hu'><script>alert(document.domain)</script> sonarr-1 | 2026-11-01T09:57:32.453221713Z [Warn] StaticResourceController: Couldn't find handler for /db/schema.prisma sonarr-1 | 2026-11-01T09:57:32.453318379Z [Warn] StaticResourceController: Couldn't find handler for /plugins/web/service/search/auto-completion/domain/en.xml sonarr-1 | 2026-11-01T09:57:32.453431879Z [Warn] StaticResourceController: Couldn't find handler for /vendor/diablomedia/zendframework1-http/tests/Zend/Http/Client/_files/testRedirections.php sonarr-1 | 2026-11-01T09:57:32.453562296Z [Warn] StaticResourceController: Couldn't find handler for /WEBACCOUNT.CGI sonarr-1 | 2026-11-01T09:57:32.453824421Z [Warn] StaticResourceController: Couldn't find handler for /command/prima-factory.cgi sonarr-1 | 2026-11-01T09:57:32.454011254Z [Warn] StaticResourceController: Couldn't find handler for /plus/feedback.php/rp4hu'><script>alert(document.domain)</script> sonarr-1 | 2026-11-01T09:57:32.454162171Z [Warn] StaticResourceController: Couldn't find handler for /plugins/web/service/search/auto-completion/domain/en.xml sonarr-1 | 2026-11-01T09:57:32.454292213Z [Warn] StaticResourceController: Couldn't find handler for /bitrix/components/bitrix/mobileapp.list/ajax.php/ sonarr-1 | 2026-11-01T09:57:32.454416671Z [Warn] StaticResourceController: Couldn't find handler for /core/authorize.php sonarr-1 | 2026-11-01T09:57:32.454839796Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/mail-masta/inc/lists/csvexport.php sonarr-1 | 2026-11-01T09:57:32.454961754Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.455098879Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.455308754Z [Warn] StaticResourceController: Couldn't find handler for /config/production.sphinx.conf sonarr-1 | 2026-11-01T09:57:32.456440921Z [Warn] StaticResourceController: Couldn't find handler for /https://tools.ietf.org/html/rfc7231 sonarr-1 | 2026-11-01T09:57:32.456698088Z [Warn] StaticResourceController: Couldn't find handler for /tests/Zend/Http/Client/_files/testRedirections.php sonarr-1 | 2026-11-01T09:57:32.456953088Z [Warn] StaticResourceController: Couldn't find handler for /configs/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.458110588Z [Warn] StaticResourceController: Couldn't find handler for /tests/Zend/Http/Client/_files/testRedirections.php sonarr-1 | 2026-11-01T09:57:32.458619421Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.458741254Z [Warn] StaticResourceController: Couldn't find handler for /_/.ssh/authorized_keys sonarr-1 | 2026-11-01T09:57:32.458754463Z [Warn] StaticResourceController: Couldn't find handler for /https://tools.ietf.org/html/rfc7231 sonarr-1 | 2026-11-01T09:57:32.458811963Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.458971921Z [Warn] StaticResourceController: Couldn't find handler for /.prisma/schema.prisma sonarr-1 | 2026-11-01T09:57:32.459122504Z [Warn] StaticResourceController: Couldn't find handler for /configs/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.459250463Z [Warn] StaticResourceController: Couldn't find handler for /_/.ssh/authorized_keys sonarr-1 | 2026-11-01T09:57:32.459574379Z [Warn] StaticResourceController: Couldn't find handler for /search/configs/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.460506546Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/mail-masta/inc/lists/csvexport.php sonarr-1 | 2026-11-01T09:57:32.460776879Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.461325463Z [Warn] StaticResourceController: Couldn't find handler for /main/inc/ajax/model.ajax.php sonarr-1 | 2026-11-01T09:57:32.461772338Z [Warn] StaticResourceController: Couldn't find handler for /search/configs/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.461972713Z [Warn] StaticResourceController: Couldn't find handler for /sphinx.conf sonarr-1 | 2026-11-01T09:57:32.462102213Z [Warn] StaticResourceController: Couldn't find handler for /.authorized_keys sonarr-1 | 2026-11-01T09:57:32.462249463Z [Warn] StaticResourceController: Couldn't find handler for /.authorized_keys sonarr-1 | 2026-11-01T09:57:32.462661504Z [Warn] StaticResourceController: Couldn't find handler for /sphinx.conf sonarr-1 | 2026-11-01T09:57:32.462795379Z [Warn] StaticResourceController: Couldn't find handler for /sphinx/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.463017921Z [Warn] StaticResourceController: Couldn't find handler for /sphinx/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.463372088Z [Warn] StaticResourceController: Couldn't find handler for /sphinxsearch/sphinx.conf sonarr-1 | 2026-11-01T09:57:32.463567671Z [Warn] StaticResourceController: Couldn't find handler for /sphinxsearch/sphinx.conf