Skip to content
Steve Theisen edited this page Jan 21, 2025 · 16 revisions

Getting Started

The docker-pia-server stack provides a subset of Servarr services: Radarr, Readarr, and Sonarr, all tied together with Prowlarr which is an indexer manager that syncs with the "*Arr" apps. It also protects the privacy of the user's activity through Private Internet Access (PIA), a VPN service that provides enhanced privacy and security for your internet connection. PIA encrypts your data, masks your IP address, and allows you to access content globally by connecting to servers in over 91 countries. PIA is known for its affordability. In the case that the VPN connection goes down, all other activity in the docker-pia-server stack stops.

Important

Disclaimer: The content GitHub is intended for experimentation and educational purposes only. Use at your own risk.

In order to take experiment with this Docker Stack, you will need an active PIA account.

Note

This is NOT a detailed guide on how to use and configure the *Arr applications that make up the Servarr ecosystem. For more information on this, please read the Servarr Wiki. This Wiki is intended to help users get the docker-pia-server stack and the *Arr services is contains installed and running.

What hardware do I need?

First you need a place for this Docker stack to run, for the best stability I highly encourage using a Linux operating system. This guide will assume you are using Ubuntu Server. The hardware does not much matter, I have tested this on a system as small as a 8GB Raspberry Pi 4, and as large as a 32GB i9. The more important thing to consider is where your downloaded content will be stored. It can be on the Servarr system itself, or as this documentation will show, a shared Windows (SMB) destination.

Whatever hardware you use, the Servarr system will need Docker Engine installed in order to utilize this repository, and some specific container customization.

In addition to this, here are a few other optional utilities I install on the host Linux OS:

  • Avahi - used to resolve .local names on your network
  • CFIS - used to mount Windows shares
  • Portainer CE - a user-friendly management platform for containerized applications, allowing users to easily manage Docker, Swarm, and Kubernetes environments through a graphical interface or API.

System Installation

Installing Linux

  1. Head over to Ubuntu to get a copy of the latest version of Ubuntu server, and create a USB bootable device using a utility like Rufus
  2. Using the USB boot device, launch the Ubuntu installer and choose Try or Install Ubuntu Server. For best results, make sure your host device has an Internet connection.
  3. Go through the basic Ubuntu Server installation, in most cases choosing the default options will get the job done, but I highly recommend installing SSH.

Tip

To make your life easier, choose to install SSH as a part of the installation process.

  1. Reboot when prompted and you will return to a login screen.

Note

At this point you should be able to ssh to your system from a remote PC on your network. The command is ssh <username>@<hostname>, if this does not work consider troubleshooting the issue. After all, nobody to sit in front of a "dumb terminal" to administer their system.

Update Ubuntu

When logging into your Ubuntu system, you may be greeted with the need to install several updates. That messaging will look something like this:

77 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

The easiest way to apply these updates by creating a simple bash script. Create a new file in your home directory called updateUbuntu.sh with the following command:

pico updateUbuntu.sh

Add these lines to the new file:

#!/bin/bash
apt-get update
apt-get upgrade -y
apt-get full-upgrade -y
apt-get autoremove -y
apt-get autoclean -y

Save the file with Ctrl X and the Y. After saving the file, give execute permissions with the following command:

chmod 755 updateUbuntu.sh

Finally, run the command with root privileges

sudo ./updateUbuntu.sh

✅ Continue to Optional Software