Today we are going to show you how to install NZBGet docker on a Raspberry Pi 4.
This is episode 15 of 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.
- A Raspberry Pi with Raspberry Pi OS installed. We recommend using an SSD for NZBGet.
- Secured Raspberry Pi.
- Openmediavault, Docker and Portainer Installed.
- A volume created in Openmediavault to be used for NZBGet 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.
Recommended USB Hard Drives:
|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:|
We do not condone piracy in any shape or form. We provide information for educational purposes. We are including NZBGet 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.
What is NZBGet?.
NZBGet is a download client that works with Usenet. The applications is cross-platformed and open source.
It can be configured to work with other applications using an API. It also supports direct downloading from private Usenet servers using .nzb files.
Once it downloads Usenet files it can automatically unpack the compressed files, verify the integrity and if needed repair the download.
What is Usenet and how does it work?.
Usenet is older than the internet. It came about in the 1980’s and is still in use today.
Users read and post messages (called articles or posts, and collectively termed news) to one or more categories, known as Newsgroups.
Usenet providers give you access to these news servers through a paid subscription.
Usenet uses .nzb files which use the XML format. which can be imported into NZBGet.
These work similar to .torrent files which point to the file parts that are needed to be downloaded in order to get the completed file to the end-user.
However, Usenet doesn’t use P2P (peer to peer) as torrents do. Its data is distributed among a large, constantly changing conglomeration of news servers that store and forward messages to one another via “news feeds“.
In the next few episodes, we will be showing you how to install and configure Radarr, Sonarr, and Lidarr to work with NZBGet.
How to install NZBGet Docker on A Raspberry Pi
Step 1 – Create the NZBGet Appdata and Download folders.
Open up a PUTTY or a terminal window and SSH into your Raspberry Pi.
Replace the commands with your own Raspberry Pi setup.
ssh [email protected]
To use NZBGet you are going to need two folders. The first folder needed is an “Appdata” folder.
Navigate to your Appdata folder you created in our previous episodes. If you have not got an Appdata folder then create one where you want to install all your persistent docker container files to.
Create a folder for NZBGet.
You will now need to find and copy the absolute path of the NZBGet folder and paste it into a text file to use it in Step 2.
Navigate into the NZBGet folder.
To get the absolute path you will need to use the following command.
Now copy and paste the returned path so you can use it in step two.
A Download folder is now needed so any files and folders that get downloaded from Usenet can be processed and stored. Make sure this folder is large enough to store your data.
Navigate back to the root of your external USB drive or to your Download folder if it already exists.
Create a Download folder to store all NZBGet Usenet downloaded data.
Navigate into the Downloads folder.
You will now need the absolute path of the “Downloads” folder so you can use this in Step 2.
Copy and paste the returning absolute path into a text file.
Step 2 – Creating the NZBGet Docker Stack In Portainer
Log into your “Portainer” dashboard.
Click on “Stacks” in the left menu.
Now click on “Add stack“.
Name your container in the “Name” field.
In the “Web editor” copy and paste the following docker-composed data.
--- version: "2.1" services: nzbget: image: lscr.io/linuxserver/nzbget:arm32v7-latest container_name: nzbget environment: - PUID=1000 - PGID=100 - TZ=Europe/London - UMASK=002 volumes: - /FILE/PATH/Appdata/nzbget/config:/config - /FILE/PATH/Downloads:/downloads ports: - 6789:6789 restart: unless-stopped
Edit the fields to match your own setup including the “PUID” “GUID” “TZ” and paste both the “absolute paths” you gathered earlier in Step 1 into the correct locations.
To find your PUID and PGID in a terminal connected via SSH to your Raspberry PI use the following command. Replace “YOURUSERNAME” with your own username.
Your final Stack should look similar to ours. Click on “Deploy the stack” to create the container.
To confirm the container was correctly deployed and is working. Click on “Containers” in the left-hand menu.
If it says “running” under the container State then everything should be working as expected.
Step 3 – Configuring NZBGet to work with Newsgroups and Usenet.
Now it is time to connect to the NZBGet dashboard. Navigate to your Raspberry Pi IP address and using port “6789“. Replace “YOURRASPBERRYPIIP” with your own Raspberry Pi IP.
Log in using the NZBGet default “username” and “password“.
Username: nzbget Password: tegbzn6789
You will need to have your Newsgroup account details to complete the configuration of NZBGet.
To connect your Newshosting account with your NZBGet you will need to add it.
Click on “Settings“.
Click on “NEWS-SERVERS” in the left menu.
Under “Server1“, “Name” give your server a name. It can be anything that makes sense to you.
Scroll down the settings page a little.
Under “Host” enter your Newshosting host name which should be in your Newshosting welcome email.
Under “Port” add the SSL port number that your Newshosting provider has given you. If SSL is not enabled just enter the port given.
Under “Username” and “Password” enter your credentials given to you by your Newshosting provider.
Under “Encryption” turn this to “Yes” if your newshosting account supports SSL.
Now add the number “Connections” and “Retention” given to you by your Newshosting provider.
Then click on “Test Connection” button to test everything is working correctly.
If all is well you should get “Connection successful“.
To save the settings click on “Save all changes“.
Finally to complete the configuration click on “Reload NZBGet“
This concludes today’s tutorial.
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.
This post has been very useful and worked well for me. Just a note: There’s no need to pre-create the folder paths mentioned at the beginning, as the Portainer stack creation script will automatically create those.
I really like using Docker with for these services as the isolation is convenient. Handling persistence is the only tricky part, but it’s covered well here.