Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mimnix/mediaservarr

A docker-and-VPN-ready mediaserver stack, or if you prefer, your DIY seedbox
https://github.com/mimnix/mediaservarr

jellyfin mediaserver plex radarr seedbox sonarr vpn wireguard

Last synced: 13 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# [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](https://github.com/PARC6502/docker-media-server) 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](docs/assets/Mediaservarr.png)

## 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

```bash
cp example.env .env
vim .env
```

2. Setup your DNS so that all \*.yourdomain go to the media server and put your wireguard wg0.conf file into the wireguard-config subdirectory.

3. Fire up the docker containers

```bash
# 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:
```bash
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.