This commit is contained in:
luctia
2022-06-28 22:42:42 +02:00
commit 606d9df100
4 changed files with 172 additions and 0 deletions

3
.env.sample Normal file
View File

@@ -0,0 +1,3 @@
TIMEZONE=Europe/Amsterdam
PLEX_CLAIM=
ROOT_DIR=/

30
README.md Normal file
View File

@@ -0,0 +1,30 @@
# EZARR
Ezarr is a project built to make it EZ to deploy a Servarr mediacenter, featuring:
- Sonarr
- Radarr
- Lidarr
- Prowlarr
- qBittorrent
- PleX
## Using
1. To get started, clone the repository in a directory of your choosing.
2. Copy `.env.sample` to a real `.env`: `$ cp .env.sample .env`.
3. Set the environment variables to your liking.
4. Run `setup.sh` as superuser. This will set up your users, a system of directories, ensure
permissions are set correctly and sets some more environment variables for docker compose.
5. Run `docker compose up`
That's it! Your containers are now up and you can continue to set up the settings in them. Take
note of the following:
- When linking one service to another, remember to use the container name instead of `localhost`.
- Please set the settings of the -arr containers as soon as possible to the following (use
advanced):
- Media management:
- Use hardlinks instead of Copy: `true`
- Root folder: `/data/media/` and then tv, movies or music depending on service
- In qBittorrent, after connecting it to the -arr services, you can indicate it should move
torrents in certain categories to certain directories, like torrents in the `radarr` category
to `/data/torrents/movies`. You should do this.
- You'll have to add indexers in Prowlarr by hand. Use Prowlarrs settings to connect it to the
other -arr apps.

98
docker-compose.yml Normal file
View File

@@ -0,0 +1,98 @@
---
version: "3.1"
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
- PLEX_CLAIM=${PLEX_CLAIM}
volumes:
- ${ROOT_DIR}/docker/plex-config:/config
- ${ROOT_DIR}/data/media/tv:/tv
- ${ROOT_DIR}/data/media/movies:/movies
- ${ROOT_DIR}/data/media/music:/music
restart: unless-stopped
#
# SERVARR
#
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=${RADARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/docker/radarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- 7878:7878
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=${SONARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/docker/sonarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- 8989:8989
restart: unless-stopped
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=${LIDARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/docker/lidarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- 8686:8686
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:develop
container_name: prowlarr
environment:
- PUID=${PROWLARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/docker/prowlarr-config:/config
ports:
- 9696:9696
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=${QBIT_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
- WEBUI_PORT=8080
volumes:
- ${ROOT_DIR}/docker/qbittorrent-config:/config
- ${ROOT_DIR}/data/torrents:/data/torrents
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
restart: unless-stopped

41
setup.sh Normal file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# Make users and group
sudo useradd sonarr
sudo useradd radarr
sudo useradd lidarr
sudo useradd prowlarr
sudo useradd qbittorrent
sudo groupadd mediacenter
sudo usermod -a -G mediacenter sonarr
sudo usermod -a -G mediacenter radarr
sudo usermod -a -G mediacenter lidarr
sudo usermod -a -G mediacenter prowlarr
sudo usermod -a -G mediacenter qbittorrent
# Make directories
sudo mkdir docker data
sudo mkdir docker/sonarr-config docker/radarr-config docker/lidarr-config docker/prowlarr-config docker/qbittorrent-config
sudo mkdir data/torrents data/media
sudo mkdir data/torrents/tv data/torrents/movies data/torrents/music data/media/tv data/media/movies data/media/music
# Set permissions
sudo chmod -R 775 data/
sudo chown -R 1000:mediacenter data/
sudo chown -R sonarr:mediacenter docker/sonarr-config
sudo chown -R radarr:mediacenter docker/radarr-config
sudo chown -R lidarr:mediacenter docker/lidarr-config
sudo chown -R prowlarr:mediacenter docker/prowlarr-config
sudo chown -R qbittorrent:mediacenter docker/qbittorrent-config
sonarr_id=$(sudo cat /etc/passwd | grep sonarr | cut -c 10-13)
radarr_id=$(sudo cat /etc/passwd | grep radarr | cut -c 10-13)
lidarr_id=$(sudo cat /etc/passwd | grep lidarr | cut -c 10-13)
prowlarr_id=$(sudo cat /etc/passwd | grep prowlarr | cut -c 12-15)
qbit_id=$(sudo cat /etc/passwd | grep qbittorrent | cut -c 15-18)
echo "SONARR_UID=${sonarr_id}" >> .env
echo "RADARR_UID=${radarr_id}" >> .env
echo "LIDARR_UID=${lidarr_id}" >> .env
echo "PROWLARR_UID=${prowlarr_id}" >> .env
echo "QBIT_UID=${qbit_id}" >> .env