Readers who followed the qBittorrent LXC guide asked the obvious next question: now that downloads are working, how do you stop manually searching for new episodes every week? That's Sonarr's job. It watches the TV shows you tell it to track, grabs new episodes the moment they're available, and drops them into a properly named media folder without you opening a browser tab.
This guide installs Sonarr in its own LXC container on Proxmox VE using the community-scripts helper script — the same install path most homelab guides use for apps like this. You'll end up with a working Sonarr instance, connected to a download client and a TV library folder, ready to grab its first episode.
What You Will Learn
- What Sonarr actually does and how it fits between your download client and your media library
- How to spin up a Sonarr LXC container on Proxmox VE using the community-scripts installer
- How to connect Sonarr to a download client and a root folder for your TV shows
- What the common first-run errors mean and how to fix them
- A few habits that will save you a support-forum trip later
What Is Sonarr?
Sonarr is a PVR — a personal video recorder, except instead of recording live TV it watches for new episodes of shows you add to it and automatically finds, downloads, and organizes them. It doesn't download anything itself. It searches indexers (sites or services that list available downloads) for the episode you want, hands the result to a download client such as qBittorrent, and once the file finishes downloading, Sonarr renames it and moves it into your TV library using a consistent folder structure.
If you've used Radarr before, Sonarr is its sibling — Radarr handles movies, Sonarr handles TV series. They share the same interface style and install the same way, so once you've done this once, adding Radarr later is a five-minute job.
A quick note on containers, since this whole guide runs inside one: an LXC container is a lightweight, isolated Linux environment that shares the host's kernel instead of emulating its own virtual hardware like a full VM does. That makes it start faster and use less RAM, which is exactly what you want for a single-purpose app like Sonarr that just needs to run one background service.
Why Would You Use It?
Without Sonarr, keeping a TV library current means remembering which shows are airing, checking a tracker or Usenet indexer every week, downloading the right file, and renaming it so your media server (Jellyfin, Plex, whatever you use) can actually match it to the right show and episode. That's fine for one show. It falls apart fast once you're tracking a dozen.
Sonarr automates the boring part. You tell it once which shows to follow and where your library lives, and it checks on a schedule, grabs new episodes as they air, and keeps everything named the way your media server expects. Honestly, this is one of those tools where the setup effort pays for itself within a week.
Prerequisites
- A Proxmox VE host running 8.x or 9.x, with internet access from the host and from newly created containers
- Root access to the Proxmox web UI or shell
- At least 4 GB of free storage for the container itself, separate from your actual media storage
- A download client already running — this guide assumes qBittorrent, but Sonarr works with most Usenet and torrent clients
- Some free space set aside for your TV library, ideally on its own storage volume or a mounted share
- Basic comfort using the Proxmox web shell — you'll paste one command into it
Step-by-Step Tutorial
1. Open the Proxmox Shell
Log into the Proxmox web UI, click your node in the left-hand tree, and open Shell from the toolbar. This drops you into a root shell on the Proxmox host itself — not inside any container yet.
2. Run the Sonarr install script
Paste this into the shell and press Enter:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/sonarr.sh)"
This pulls a shell script from the community-scripts project — a community-maintained collection of installers that has become the standard way homelab users deploy self-hosted apps on Proxmox. It's not an official Proxmox feature, and it's not written by the Sonarr team either. It's a third-party convenience script, well-tested and widely used, but worth knowing that distinction before you run it as root.
3. Walk through the advanced settings (optional but worth it)
The script opens a text-based menu and offers a default install. If you take the default, it builds an unprivileged Debian-based container with modest resources and installs Sonarr on top. That's fine for most people. If you pick Advanced instead, you get to set the hostname, disk size, CPU core count, RAM, and network bridge yourself before anything gets created.
For Sonarr specifically, 1 CPU core and 2 GB of RAM is plenty to start — it's not a resource-hungry app. You can always bump these later from the container's Hardware tab in the Proxmox UI without reinstalling anything.
4. Let the script finish and note the IP address
The install takes somewhere around two to four minutes on typical hardware — most of that is downloading the Debian template and the Sonarr package itself. When it's done, the script prints the container's IP address and the URL for the Sonarr web interface, usually something like http://192.168.1.50:8989. Write that down; you'll need it in a second.
5. Open the Sonarr web UI and set up authentication
Visit the URL from the last step in your browser. On first launch, Sonarr walks you through creating a username and password — recent versions require this, they no longer ship wide open by default. Set a real password here, especially if this container will ever be reachable outside your home network.
6. Add your download client
Go to Settings → Download Clients → the plus icon, and pick qBittorrent (or whatever client you're running) from the list. You'll need its host or IP address, port (8080 by default for qBittorrent's web UI), and login credentials. Click Test before saving — if it fails here, nothing downstream will work, so it's worth getting right immediately.
7. Add a root folder for your TV library
Under Settings → Media Management, add a root folder — this is the top-level directory where Sonarr will create a subfolder for each show. If your media lives on an NFS share or separate storage, mount that path into the Sonarr container first (through the Proxmox UI's mount point settings for the container), then point Sonarr at it here.
8. Add an indexer
Sonarr needs somewhere to search for episodes. Go to Settings → Indexers and add one directly, or — the easier route most people end up taking — install Prowlarr separately and let it manage indexers for Sonarr, Radarr, and anything else you add later. Prowlarr keeps everything in one place instead of maintaining indexer lists in three different apps.
9. Add your first series
Click Series → Add New, search for a show, and pick your quality profile and root folder on the way in. Sonarr immediately checks for existing episodes and, for anything unaired, schedules a search once it's released. That's it — the automation is live.
Commands Explained
| Command | What it does |
|---|---|
pct list | Lists every LXC container on the Proxmox host, including the new Sonarr container's ID and current status. |
pct enter <ctid> | Drops you into a root shell inside the container with the given ID — useful for checking things the web UI can't show you. |
pct exec <ctid> -- systemctl status sonarr | Runs a command inside the container without a full login — here, checking whether the Sonarr service is active. |
pct exec <ctid> -- journalctl -u sonarr -e | Shows the end of Sonarr's service logs from inside the container, which is usually the fastest way to see why it won't start. |
pct config <ctid> | Prints the container's configuration, including its assigned IP, memory, and mount points — handy if you forgot the address the script printed. |
Common Errors
"Unable to communicate with download client." Almost always a wrong IP, port, or credential in the download client settings — or the download client container isn't actually running. Check pct list to confirm the qBittorrent container status before anything else.
Downloads finish but sit at "Waiting to Import" forever. This is the one that trips up almost everyone running Sonarr and qBittorrent in separate containers. Sonarr needs to see the exact same file path that the download client used to save the file — if qBittorrent saves to /downloads inside its own container and Sonarr can't see that same path, the import silently never finishes. The fix is a shared mount point, bound into both containers at identical paths.
The install script fails partway through with a DNS or network error. New containers sometimes come up before the Proxmox bridge has finished assigning them a working network path, particularly right after a host reboot. Wait a minute and re-run the script — it's safe to run again.
"Indexer produced no results" on every search. Usually means the indexer itself needs re-authenticating, or (if you're using Prowlarr) the sync between Prowlarr and Sonarr hasn't run yet. Trigger a manual sync from Prowlarr's app settings.
Troubleshooting
Start with whether the container is even running: pct list should show it as running, not stopped. If it's stopped, start it with pct start <ctid> from the Proxmox shell.
If the container is running but the web UI at port 8989 won't load, check that you're using the right IP — it can change if the container is set to DHCP and your router reassigns leases. pct config <ctid> shows the current network configuration, including whether it's static or DHCP.
If Sonarr loads but a specific feature is broken — imports, searches, notifications — the service logs almost always say exactly what's wrong. Run pct exec <ctid> -- journalctl -u sonarr -e and look at the last twenty or so lines. Permission errors, unreachable hosts, and failed indexer logins all show up there in plain language.
Best Practices
Keep Sonarr, your download client, and your media server as separate containers rather than cramming everything into one. It's a bit more setup work up front, but a crashed download client won't take Sonarr down with it, and you can back up or move each one independently.
Use the same folder paths across every container that touches your media — /downloads and /tv (or whatever names you pick) should point to the same underlying storage everywhere. This single habit prevents most of the import failures beginners run into.
Take a snapshot of the container before major Sonarr version upgrades. Snapshots on Proxmox are fast and cheap, and rolling back a botched upgrade takes seconds compared to troubleshooting a broken database.
Don't port-forward 8989 straight to the internet if you want remote access. Put it behind a reverse proxy with its own authentication layer instead — it's not much more setup, and it closes off a class of problems entirely.
Keep the helper script's container updated the normal way — apt update && apt upgrade inside the container handles OS packages, while Sonarr itself can usually self-update from its own web UI settings.
Frequently Asked Questions
Do I need Prowlarr to use Sonarr?
No. You can add indexers directly in Sonarr's own settings. Prowlarr just centralizes indexer management if you plan to run more than one -arr app.
Can Sonarr and qBittorrent run in the same LXC container?
Yes, and it sidesteps the shared-path import problem entirely. Many people still split them for easier backups and updates — it's a tradeoff, not a rule.
How much storage does the Sonarr container itself need?
4 GB is comfortable. Your actual TV library should live on separate storage, mounted into the container rather than stored on its root disk.
Is this the same as Radarr?
No, but they're built by the same project and work almost identically. Sonarr tracks TV series, Radarr tracks movies. The install process for Radarr uses its own community-scripts installer.
What happens if I stop the container?
Sonarr simply stops checking for new episodes until you start the container again. Nothing is lost — it picks up right where it left off.
Does Sonarr work with Usenet instead of torrents?
Yes. Sonarr supports Usenet download clients like SABnzbd and NZBGet the same way it supports torrent clients — add it under Download Clients just like you would qBittorrent.
Conclusion
Once Sonarr is watching your shows, the difference is easy to notice: episodes just show up in your library the morning after they air, named correctly, filed in the right folder, no manual searching required. The setup here takes maybe fifteen minutes once the container's built. Pairing it with Radarr for movies, or Prowlarr to manage indexers across both, is a natural next step whenever you're ready for it — but Sonarr on its own already covers the part people ask about most.