/mediaservarr

A docker-and-VPN-ready mediaserver stack, or if you prefer, your DIY seedbox

[Mediaservarr]

Mediaservarr is a docker-and-VPN-ready mediaserver stack, or if you prefer, your DIY seedbox. It is inspired by the work of PARC6502 and introduces some tweaks and improvements for portability and network protection.

Containers

  • Traefik - reverse proxy/load balancer
  • Wireguard - VPN client
  • Jellyfin - media server
  • Sonnarr - tv downloader
  • Radarr - movie downloader
  • Ombi - requester for radarr & sonarr
  • Qbittorrent - torrent client, required for downloaders to work
  • Prowlarr - Torrent tracker api, required for downloaders to work

Architecture

Mediaservarr Architecture

Requirements

  • docker
  • docker-compose
  • A cloudflare account is recommended
  • A wireguard VPN config file

Setup

After cloning this repo...

  1. Copy the example.env and give it your own variables
cp example.env .env
vim .env
  1. Setup your DNS so that all *.yourdomain go to the media server and put your wireguard wg0.conf file into the wireguard-config subdirectory.

  2. Fire up the docker containers

# Make sure you're running this command from inside the mediaservarr folder and that the .env file is inside the same folder
docker-compose up -d
# The command will take a bit, after it runs you can run the following to check all the containers are running
docker-compose ps

Configure qbit

  1. Login to qbit using the user admin and the password retrieved from the logs, and change it via Tools -> Options -> WebUI -> Change password.
  2. Go to Tools -> Options -> BitTorrent -> set "When ratio reaches" 0 in the "Seeding limits" section.
  3. Run the following command:
docker exec -it qbit bash # Get inside qBittorrent container
mkdir /downloads/movies /downloads/tvshows
chown 1000:1000 /downloads/movies /downloads/tvshows

Configure Radarr and Sonarr

  1. Settings --> Media Management --> Check mark "Movies deleted from disk are automatically unmonitored in Radarr" under File management section --> Save.
  2. Settings --> Download clients --> qBittorrent --> Add localhost and port 8080 --> Username and password --> Test --> Save.
  3. Settings --> General --> Enable advance setting --> Select Authentication and add username and password Indexer will get automatically added during configuration of Prowlarr. See 'Configure Prowlarr' section.
  4. Settings --> Media Management --> scroll all the way down and click on "Add root folder" --> add /downloads/movies for Radarr and /downloads/tvshows for Sonarr.
  5. Settings --> Metadata --> Select your country.
  6. Settings --> Indexers --> Set maximum size if you want to avoid to download files too big.

Sonarr can also be configured in similar way.

Configure Jellyfin

  1. When you access the jellyfin for first time using browser, A guided configuration will guide you to configure jellyfin. Just follow the guide.
  2. Add media library folder and choose /data/movies/.

Configure Prowlarr

  1. Settings --> General --> Authentications --> Select Authentication and add username and password.
  2. Add Indexers, Indexers --> Add Indexer --> Search for indexer --> Choose base URL --> Test and Save.
  3. Add application, Settings --> Apps --> Add application --> Choose Radarr --> Prowlarr server (http://localhost:9696) --> Radarr server (http://radarr:7878) --> API Key --> Test and Save.
  4. Add application, Settings --> Apps --> Add application --> Choose Sonarr --> Prowlarr server (http://localhost:9696) --> Sonarr server (http://localhost:8989) --> API Key --> Test and Save. This will add indexers in respective apps automatically.

Configure Ombi

Ombi needs to be connected to sonarr, radarr and jellyfin. You could also set up passwordless login if you're only going to be using it on your network.