Today we will be installing Sonarr docker on a Raspberry Pi 4 and configuring it to work with NZBGet and Usenet. This is episode 17 in our Raspberry Pi series. If you have not followed our previous episodes we recommend you do so before attempting to follow any of our episodes. Each tutorial follows on from a custom setup and you may miss some prerequisites.
Having said that we will list out the prerequisites below. so you can attempt to complete today’s tutorial without watching our previous episodes.
Difficulty=Easy
Table of Contents
Copyright Disclaimer:
We do not condone piracy in any shape or form. We provide information for educational purposes. We are including Sonarr in our Raspberry Pi series as it shows off how well the Raspberry Pi can integrate via API to other applications to automate tasks and organize data. Please respect the law regarding copyright in your country.
Prerequisites:
- A Raspberry Pi with Raspberry Pi OS installed. We recommend using an SSD for Sonarr.
- Secured Raspberry Pi.
- Openmediavault, Docker and Portainer Installed.
- A volume created in Openmediavault to be used for the Sonarr container storage (Appdata folder).
- A Downloads folder stored on an external USB drive so you can store large media files.
- A Usenet provider – We recommend Newshosting You will need all your account details at hand.
- NZBGet Installed and configured to work with a Usenet provider. Check out our guide here.
Recommended USB Hard Drives For Raspberry Pi:
WD 1TB My Passport Portable External Hard Drive | WD 4 TB My Passport Portable External Hard Drive |
USA Amazon Link: | USA Amazon Link: |
UK Amazon Link: | UK Amazon Link: |
What is Sonarr?.
Sonar is a TV series collection indexer that can monitor, organize, restructure and update a TV series collection. It works with NZBget and Usenet and supports full automation downloads from private Usenet servers.

Sonarr also supports Torrents. We won’t be covering them today but it is possible to integrate your trackers and download client into the Sonarr interface.
How to install Sonarr Docker on Raspberry Pi 4.
Step 1 – Create the folders needed for the Sonarr Docker container.
Open up a terminal or Putty application.
Connect to your Raspberry Pi via SSH (secure shell).
ssh -p PORT USERNAME@YOURRASPBERRYPIIP
Navigate to your “Appdata” folder or the place where you store all your containers persistent configuration data.
cd /srv/YOURUSBDISKUUID/Appdata
Create a folder called “sonarr“.
mkdir sonarr
Navigate into the “sonarr” folder.
cd sonarr
Create the “config” folder where all the sonarr configuration data will reside.
mkdir config
Now navigate into the “config” folder.
cd config
From here you will need to get your “absolute path” for your “config” folder.
pwd
Copy the output of the pwd command and paste it into a text file. You will need this in Step 2.
The next folder that is needed is a “downloads” folder. If you have followed our previous episodes you should already have this folder set up. If not create one and make sure it resided on an external USB drive with enough storage capacity to fit your download needs.
The Downloads folder is used for Sonarr to process the raw data it gets from Usenet. It will unpack, verify, repair, rename the data here before moving it to your “tv” folder which you will create below. Once it moves the data it will delete the files automatically from the root folders of the “downloads” folder freeing up space.
Now navigate into the “downloads” folder and you will need to get the absolute path.
pwd
Copy the output of the pwd command and paste it into a text file. You will need this in Step 2.
The final folder you will need is the “tv” folder. This is the final resting place for all TV series files downloaded and processed by Sonarr.
We will place this folder within our “downloads” folder to keep it simple. While still in the downloads folder.
Create a “tv” folder.
mkdir tv
Navigate into the “tv“.
cd tv
To get the absolute path.
pwd
Copy the output of the pwd command and paste it into a text file. You will need this in Step 2.
You can set up an optional folder “kidstv” in your downloads folder to separate child-friendly content. Just follow the same steps above to do this.
Step 2 – Create the Sonarr Container Using Portainer and a Stack.
Navigate to your Portainer dashboard and log in.

From the left hand menu click on “Stacks”.

Now in the Stacks dashboard click on “Add a stack“.

In the “Name” field enter “sonarr“
Now Copy and paste the following docker-compose data into the “Web editor” field. Be sure to change all the file paths to the absolute paths you saved to a text file in the previous step.
You will also need to change the “TZ“, “PUID” and “PGID” fields to match your setup. You can find these by following our video guide above.
Sonarr Docker Compose Stack
Please note: Linuxserver has deprecated this image for arm devices. The last supported tags for 32-bit ARM will be 3.0.8.1507-ls151
for the stable branch. This final image should still work. However, you won’t get any updates going forward. Please see this post. https://info.linuxserver.io/issues/2022-08-02-sonarr/
--- version: "2.1" services: sonarr: image: ghcr.io/linuxserver/sonarr:3.0.8.1507-ls151 container_name: sonarr environment: - PUID=1001 - PGID=100 - TZ=Europe/London volumes: - /FOLDER/PATH/Appdata/Sonarr/config:/config - /FOLDER/PATH/Downloads:/downloads - /FOLDER/PATH/downloads/tv:/tv - /FOLDER/PATH/downloads/tv/kidstv:/kidstv #optional ports: - 8989:8989 restart: unless-stopped
Once you have completed that you are ready to click “Deploy the stack“.

If you navigate to “Containers” in the left menu

You should now see your “sonarr” container in the list.

Give the container a few minutes to fully start up then you can connect to the Sonarr dashboard.
http://YOURRASPBERRYPIIP:8989

You should now be ready to configure Sonarr.
If you would like to know how to configure Sonarr to work with NZBGet. Please follow our Youtube video for this episode.
We need your support.
We hope you enjoyed this episode and that it was helpful and you got benefit out of it.
If you did, please consider supporting our channel by Subscribing to our YouTube channel, and liking and sharing our content.
You can also make a donation via Paypal or become a Patreon if you wish to do so.
You can also follow us on Facebook or Twitter.
If you have any questions or any requests please ask in the comments below or on YouTube.
Big fan here! Love the work you are doing as it is very user friendly.
One thing, this tutorial says to log into the pi with port 7878 (Radarr’s port)
Sonarr, as suggested by the stack config, uses 8989!
This was probably a mistake when you copied Radarr’s tutorial over (since they are practically the same)
Love the work!
Thank you for letting us know. I have corrected the port. 🙂
This Sonarr image now doesn’t work on 32 bit architecture, meaning it won’t run on the pi. Do you know of any alternatives?
Linuxserver has deprecated this image for arm devices. The last supported tags for 32-bit ARM will be 3.0.8.1507-ls151 for the stable branch. This final image should still work. However, you won’t get any updates going forward. Please see this post. https://info.linuxserver.io/issues/2022-08-02-sonarr/. I haven’t found a replacement image thus far. Most likely due to the problems with mono it could be the end of sonarr on arm devices unless it gets forked. If I find a workaround I will update this post and comment section on YouTube.