- Shell 100%
| docker-compose.yml | ||
| mag-install.sh | ||
| README.md | ||
Media Aggregation Stack
This is the media Aggregation stack that I run for collecting media.
It's considered a *arr stack due to the names of the programs and containers.
List of containers
Prowlarr - Indexer manager. Acts as an indexer for the other applications. Points to an online NZB indexer to find releases.
SabNZBD - NZB downloader. Downloads the files that Prowlarr grabs and unpacks them
Radarr - Manages Movie files and sends requests to Prowlarr to get files for, then sends to SabNZBD and moves the files after completed.
Sonarr - Manages TV Show files and sends requests to Prowlarr to get files for, then sends to SabNZBD and moves the files after completed.
Overseer - Request platform for browsing and requesting media for the server to download. Connects to a plex account or to a local account for others to access. Requested media is sent to Radarr or Sonarr to follow the flow.
Doplarr - Discord bot that sends requests to Overseer.
Installation
Reccommended Installation: Docker Compose Stack on Ubuntu Server 22.04 vm
-
Spin up a headless Linux vm with the following specifications. 2cores, 8Gb ram, 128G of storage (preferrably more if you have it) I prefer to use Debian 13 Server or Ubuntu 25.04 Server since it ships with most of the prereqs that you need for Docker.
-
Once the vm is setup and a static IP or DHCP reservation is configured, SSH into the server and follow the remaining steps.
-
Install Docker using the instructions in this link: Docker Install
-
Run these commands in sequence to lay the framework for the media stack. This will create all the required directories that are present in the docker-compose.yml. If you would like to use different directories, then you must also change them in the docker compose.
sudo mkdir /etc/media
sudo mkdir /etc/media/tvshows
sudo mkdir /etc/media/movies
sudo mkdir /etc/media/successful
sudo mkdir /etc/media/unsuccessful
sudo chmod 777 /etc/media
sudo chmod 777 /etc/media/tvshows
sudo chmod 777 /etc/media/movies
sudo chmod 777 /etc/media/successful
sudo chmod 777 /etc/media/unsuccessful\ -
run
cd /etc/mediaand create docker-compose.yml in that directory usingsudo nano docker-compose.ymlor, clone this repository and edit the docker compose file. -
(if not cloning repo) Copy and paste the docker-compose.yml file into the newly created docker-compose.yml file on your server.
-
Edit the following variables in the doplarr section of your docker-compose.yml if you wish to use the discord bot. It is optional\
- TZ=Etc/UTC (use Database TZ codes)
- DISCORD__TOKEN=[discord bot token]
- OVERSEERR__API=[overseer api key] # You will need to setup Overseer First
- OVERSEERR__URL=http://[your-ip>]:5055 # You will need to setup Overseer First
-
Run
sudo docker compose up -dto bring up all of the containers.
Configuration
For all of these services to work together properly you will need to integrate each one as well as have a newshost and an indexer. If you asked for mine, I have sent them to you by email or Discord /
Prowlarr
Open http://[your-ip]:9696
Set a username and password if you would like.
- Go to the top left section called "Indexers" and input your indexer information. (in my case it's NZBPlanet)
- Go to Settings > General and take note of the API key
- (once Radarr is configured) go to Settings > Apps and add Radarr
- (once Sonarr is configured) go to Settings > Apps and add Sonarr
- (once SabNZBD is configured) Go to Settings > Download Clients and add SabNZBD
Radarr
Open http://[your-ip]:7878
Set a username and password if you would like
- Go to Settings > Media Management > Add Root Folder if /Downloads/Movies is not there.
- Go to Settings > General and take note of the API key
- (once SabNZBD is configured) Go to Settings > Download Clients and add SabNZBD
Sonarr
Open http://[your-ip]:8989
Set a username and password if you would like
- Go to Settings > Media Management > Add Root Folder if /Downloads/TVShows is not there.
- Go to Settings > General and take note of the API key
- (once SabNZBD is configured) Go to Settings > Download Clients and add SabNZBD
SabNZBD
Open http://[your-ip]:8080
- Set Language
- Add your newshost (in my case news.newshosting.com)
- Create username and password
- Go to Settings > General and take note of the API key
- Go to Settings > folders
- Select Browse on the right side of the temporary download folder and make sure that you change it to ~/Downloads/Incomplete from the root folder not the config folder.
- Select Browse on the right side of the temporary download folder and make sure that you change it to ~/Downloads/Complete from the root folder not the config folder.
Overseer
Open http://[your-ip]:5055
- Add Sonarr and Radarr using the API keys. Set them each as the default server with the any tag on media quality
- Sign in with your Plex account
- Add your plex server information (you should be able to autoscan for it)
- Start a Plex Media Scan.
Next steps
If you want to go one more step further, you can put overseer behind a reverse proxy and allow your plex users to log into it and request media.This is also done through Doplarr's discord bot, which Is a basic bot configuration that you can find documentation for on discords developer website.
To allow your friends to request media through discord or through overseer, you will need to make them accounts. If wanting to go the discord route, you will need to add their Discord user id into their account on Overseer.
Conclusion
Media Aggregation Stack. Not Illegal, Not necessarily Legal.