Get Plex + Sonarr + Radarr + SABnzbd automatically installed in either AWS or Google Cloud, with near-infinite (and affordable) storage.
Automated deployment using Terraform
- Install Terraform from terraform.io
- A Usenet account - NewsgroupNinja recommended
- A Usenet indexer - NZBGeek recommended
- Create an IAM key/secret pair, save as
plexverse/auth/aws_creds.csv
- Create a Google Cloud Platform Account
- Create a new project, taking note of the project ID
- Get authentication JSON file:
- Log into Google Developers Console, select your project
- Select API Manager View, click "Credentials" on left, then "Create Credentials," then finally "Service Account Key"
- Select "Compute Engine default service account" in the "Service Account" dropdown, select "JSON" as key type
git clone
this repo.- Enter
plexverse/providers/[PROVIDER]
depending on which cloud platform you'd like to deploy to. - Change/populate variables in
variables.tf
as desired. - Run
terraform init
thenterraform plan
to confirm everything is set properly. - Run
terraform apply
to create the Plexverse stack, taking note of the<machine_ip>
displayed at the end of creation.
Please perform these configurations in the order listed.
- You need to create an SSH tunnel to access Plex for the initial set up. To do this, run
ssh -i ~/.ssh/id_rsa root@<machine_ip> -L 8888:localhost:32400
. You'll then need to use it by going tolocalhost:8888/web
and manually enable remote management for Plex (v. important!). - Add a Movies library in Plex and point it to
/plexmedia/Movies
- Add a TV Shows libarary in Plex and point it to
/plexmedia/TV Shows
- Go to
http://<machine_ip>/sabnzbd
and complete the intial set up (including adding your Usenet server credentials), taking note to create a username and password for security purposes. - Go to SABnzbd config and take note of the "API Key." You'll need to enter this in both Sonarr and Radarr in the next steps.
- Go to
http://<machine_ip>/sonarr
then to "Settings." - On the "Media Management" tab, change "Rename Episodes" to "Yes."
- On the "Indexers" tab, add your preferred Usenet indexer settings and API key.
- On the "Download Client" tab, add "SABnzbd" with the username/password and API key you received from the "SABnzbd" step of configuration above.
- On the "General" tab, change "Authentication" to "Basic (Browser popup)" and enter a username and password. Click "Save."
- Go to the "System" icon and restart Sonarr using the restart icon in the upper right corner of the frame.
- Add your first TV series to Sonar. Under "Path," click "Add a different path" and browse to select
/plexmedia/TV Shows
. This will now be the default for future shows you add. - Click the plus sign to add the show, then visit the page for the show you just added in Sonarr, and click the magnifying glass, either for the whole series or a specific show/season, to trigger searching, downloading, and processing.
- Go to
http://<machine_ip>/radarr
then to "Settings." - Everything else is the same as with Sonarr (above), except make sure to add the path for downloaded movies as
/plexmedia/Movies
!
- Automate post-installation steps
- Include domain name support with automatic SSL certificate creation from Let's Encrypt
- Some kind of race condition exists in whereby
apt-get update
sometimes doesn't finish beforeapt-get install aptdcon
is triggered, causing the installation to fail entirely. - Google Cloud support is very close but still experiencing errors during initial setup. However, once these errors occur, exiting out of the terraform shell with
ctrl+c
and re-runningterraform apply
seems to make this depoyment successful. - Any help with these would be greatly appreciated!
-
Plex (Media) - if remote management enabled, access at
http://<machine_ip>:32400/web
-
Sonarr (TV) -
http://<machine_ip>/sonarr
-
Radarr (Movies) -
http://<machine_ip>/radarr
-
SABnzbd (Downloader) -
http://<machine_ip>/sabnzbd