Init
This commit is contained in:
3
.env.sample
Normal file
3
.env.sample
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
TIMEZONE=Europe/Amsterdam
|
||||||
|
PLEX_CLAIM=
|
||||||
|
ROOT_DIR=/
|
||||||
30
README.md
Normal file
30
README.md
Normal 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
98
docker-compose.yml
Normal 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
41
setup.sh
Normal 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
|
||||||
Reference in New Issue
Block a user