first commit
This commit is contained in:
commit
73943d33b6
111
README.md
Normal file
111
README.md
Normal file
@ -0,0 +1,111 @@
|
||||
# Streaming services
|
||||
|
||||
Automatise l'installation d'un setup jellyfin + sonarr/radarr
|
||||
|
||||
## Dependences :
|
||||
- curl
|
||||
- jq
|
||||
- sed
|
||||
|
||||
## Installation :
|
||||
|
||||
1. Changer les paramettres dans `install.sh`
|
||||
|
||||
```sh
|
||||
# Username for all paramettrable services
|
||||
# You will use this username to connect to sonarr/radarr/etc
|
||||
|
||||
GLOBAL_USER="A_user_name"
|
||||
|
||||
# If you want a different username for each services
|
||||
SONARR_USER=$GLOBAL_USER
|
||||
RADARR_USER=$GLOBAL_USER
|
||||
PROWLARR_USER=$GLOBAL_USER
|
||||
TRANSMISSION_USER=$GLOBAL_USER
|
||||
|
||||
# Passwords
|
||||
SONARR_PASSWORD="a very secure password"
|
||||
RADARR_PASSWORD="so secure any hacker would"
|
||||
PROWLARR_PASSWORD="have to social engineer it"
|
||||
TRANSMISSION_PASSWORD="in order to get it"
|
||||
|
||||
# ! MAKE SURE THE USER RUNNING THIS SCRIPT CAN READ
|
||||
# **AND** WRITE TO THE FOLDERS YOU WRITE
|
||||
|
||||
# Main Folders
|
||||
SERIES_PATH="path/to/series"
|
||||
FILM_PATH="path/to/films"
|
||||
|
||||
# Config Folder
|
||||
DOWNLOAD_FOLDER="path/to/downloads"
|
||||
SONARR_CONFIG="path/to/config/sonarr"
|
||||
RADARR_CONFIG="path/to/config/radarr"
|
||||
PROWLARR_CONFIG="path/to/config/prowlarr"
|
||||
TRANSMISSION_CONFIG="path/to/config/transmission"
|
||||
JELLYSEERR_CONFIG="path/to/config/jellyseerr"
|
||||
JELLYFIN_CONFIG="path/to/config/jellyfin"
|
||||
|
||||
```
|
||||
|
||||
2. lancer install.sh et laisser la magie operer .w.
|
||||
|
||||
## Post install
|
||||
|
||||
### Configurer Jellyfin
|
||||
|
||||
Le premier service a check est jellyfin :
|
||||
|
||||
- go a [http://localhost:8096](http://localhost:8096)
|
||||
- Creer un compte
|
||||
- Creer deux mediatheques :
|
||||
- un pour les films avec le dossier : /movies
|
||||
- un pour les series avec le dossier : /tvshows
|
||||
- Change le reste comme ca te plait
|
||||
- Enjoy
|
||||
|
||||
### Configurer Jellyseerr
|
||||
|
||||
- go a [http://localhost:5055](http:localhost:8096)
|
||||
- Connecte toi avec Jellyfin
|
||||
- ip de jellyfin `http://jellyfin:8096`
|
||||
- addresse email : met ce que tu veux, ca a pas besoin d'exister genre a@b.fr
|
||||
- username et password de jellyfin, ceux que t'as Creer
|
||||
- Ajoute les mediatheques de jellyfin
|
||||
- Clique sur sync et coche les deux mediatheques
|
||||
- Ajoute Sonarr et Radarr
|
||||
- Radarr
|
||||
- Default server : True
|
||||
- Name : Radarr
|
||||
- hostname : http://radarr
|
||||
- api key : Check dans post_install.md
|
||||
- root folder : /movies
|
||||
- Sonarr
|
||||
- Default server : True
|
||||
- Name : Sonarr
|
||||
- hostname : http://sonarr
|
||||
- api key : Check dans post_install.md
|
||||
- root folder : /tv
|
||||
- je te laisse utiliser ton cerveau pour le reste
|
||||
- Enjoy
|
||||
|
||||
## Commandes utiles
|
||||
|
||||
- recup la cle api sans passer par la web ui de radarr/sonarr/prowlarr
|
||||
|
||||
```sh
|
||||
docker exec -it [radarr/sonarr/prowlarr] cat /config/config.xml | grep ApiKey | cut -d'>' -f2
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
Streaming des videos -> Jellyfin : http://localhost:8096
|
||||
|
||||
Rerchercher et Ajouter -> Jellyseerr : http://localhost:5055
|
||||
|
||||
Gerer les films -> Radarr http://localhost:7878
|
||||
|
||||
Gerer les series -> Sonarr : http://localhost:8989
|
||||
|
||||
Rerchercher sur les sites de torrents -> Prowlarr : http://localhost:9696
|
||||
|
||||
Telecharger -> Transmission : http://localhost:9091
|
113
base.yml
Normal file
113
base.yml
Normal file
@ -0,0 +1,113 @@
|
||||
version: "3.0"
|
||||
services:
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
environment:
|
||||
- PUID=USER_ID
|
||||
- PGID=GROUP_ID
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- PROWLARR_CONFIG:/config
|
||||
ports:
|
||||
- 9696:9696
|
||||
restart: unless-stopped
|
||||
|
||||
sonarr:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
environment:
|
||||
- PUID=USER_ID
|
||||
- PGID=GROUP_ID
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- SONARR_CONFIG:/config
|
||||
- SERIES_PATH:/tv
|
||||
- DOWNLOAD_FOLDER:/downloads
|
||||
ports:
|
||||
- 8989:8989
|
||||
restart: unless-stopped
|
||||
|
||||
radarr:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
environment:
|
||||
- PUID=USER_ID
|
||||
- PGID=GROUP_ID
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- RADARR_CONFIG:/config
|
||||
- FILM_PATH:/movies
|
||||
- DOWNLOAD_FOLDER:/downloads
|
||||
ports:
|
||||
- 7878:7878
|
||||
restart: unless-stopped
|
||||
|
||||
transmission:
|
||||
image: lscr.io/linuxserver/transmission:latest
|
||||
container_name: transmission
|
||||
environment:
|
||||
- PUID=USER_ID
|
||||
- PGID=GROUP_ID
|
||||
- TZ=Etc/UTC
|
||||
- TRANSMISSION_WEB_HOME= #optional
|
||||
- USER=TRANSMISSION_USER
|
||||
- PASS=TRANSMISSION_PASSWORD
|
||||
- WHITELIST= #optional
|
||||
- PEERPORT= #optional
|
||||
- HOST_WHITELIST= #optional
|
||||
volumes:
|
||||
- TRANSMISSION_CONFIG:/config
|
||||
- DOWNLOAD_FOLDER:/downloads
|
||||
ports:
|
||||
- 9091:9091
|
||||
- 51413:51413
|
||||
- 51413:51413/udp
|
||||
restart: unless-stopped
|
||||
|
||||
jellyfin:
|
||||
image: lscr.io/linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
environment:
|
||||
- PUID=USER_ID
|
||||
- PGID=GROUP_ID
|
||||
- TZ=Europe/Paris
|
||||
#- NVIDIA_VISIBLE_DEVICES=all
|
||||
volumes:
|
||||
- JELLYFIN_CONFIG:/config
|
||||
- SERIES_PATH:/data/tvshows
|
||||
- FILM_PATH:/data/movies
|
||||
ports:
|
||||
- 8096:8096
|
||||
- 8920:8920 #optional
|
||||
- 7359:7359/udp #optional
|
||||
- 1900:1900/udp #optional
|
||||
restart: unless-stopped
|
||||
#runtime: nvidia
|
||||
#deploy:
|
||||
#resources:
|
||||
#reservations:
|
||||
#devices:
|
||||
#- capabilities: [gpu]
|
||||
|
||||
jellyseerr:
|
||||
image: fallenbagel/jellyseerr:latest
|
||||
container_name: jellyseerr
|
||||
environment:
|
||||
- LOG_LEVEL=debug
|
||||
- TZ=Europe/Paris
|
||||
- PORT=5055 #optional
|
||||
ports:
|
||||
- 5055:5055
|
||||
volumes:
|
||||
- JELLYSEERR_CONFIG:/app/config
|
||||
restart: unless-stopped
|
||||
|
||||
flaresolverr:
|
||||
image: ghcr.io/flaresolverr/flaresolverr:latest
|
||||
container_name: flaresolverr
|
||||
environment:
|
||||
- LOG_LEVEL=info
|
||||
ports:
|
||||
- 8191:8191
|
||||
restart: unless-stopped
|
350
install.sh
Executable file
350
install.sh
Executable file
@ -0,0 +1,350 @@
|
||||
#!/bin/bash
|
||||
|
||||
## User config
|
||||
|
||||
# Username for all paramettrable services
|
||||
# You will use this username to connect to sonarr/radarr/etc
|
||||
GLOBAL_USER="A_user_name"
|
||||
|
||||
# If you want a different username for each services
|
||||
SONARR_USER=$GLOBAL_USER
|
||||
RADARR_USER=$GLOBAL_USER
|
||||
PROWLARR_USER=$GLOBAL_USER
|
||||
TRANSMISSION_USER=$GLOBAL_USER
|
||||
|
||||
#Passwords
|
||||
SONARR_PASSWORD="a very secure password"
|
||||
RADARR_PASSWORD="so secure any hacker would"
|
||||
PROWLARR_PASSWORD="have to social engineer it"
|
||||
TRANSMISSION_PASSWORD="in order to get it"
|
||||
|
||||
# ! MAKE SURE THE USER RUNNING THIS SCRIPT CAN READ
|
||||
# **AND** WRITE TO THE FOLDERS YOU WRITE
|
||||
|
||||
# Main Folder
|
||||
SERIES_PATH="path/to/series"
|
||||
FILM_PATH="path/to/films"
|
||||
|
||||
# Config Folder
|
||||
DOWNLOAD_FOLDER="path/to/downloads"
|
||||
SONARR_CONFIG="path/to/config/sonarr"
|
||||
RADARR_CONFIG="path/to/config/radarr"
|
||||
PROWLARR_CONFIG="path/to/config/prowlarr"
|
||||
TRANSMISSION_CONFIG="path/to/config/transmission"
|
||||
JELLYSEERR_CONFIG="path/to/config/jellyseerr"
|
||||
JELLYFIN_CONFIG="path/to/config/jellyfin"
|
||||
|
||||
|
||||
######################
|
||||
#
|
||||
# End of parameters
|
||||
#
|
||||
######################
|
||||
|
||||
|
||||
## Creations des dossiers
|
||||
|
||||
echo "Creating folder : $SERIES_PATH"
|
||||
mkdir -p "$SERIES_PATH"
|
||||
|
||||
echo "Creating folder : $FILM_PATH"
|
||||
mkdir -p "$FILM_PATH"
|
||||
|
||||
echo "Creating folder : $DOWNLOAD_FOLDER"
|
||||
mkdir -p "$DOWNLOAD_FOLDER"
|
||||
|
||||
echo "Creating folder : $SONARR_CONFIG"
|
||||
mkdir -p "$SONARR_CONFIG"
|
||||
|
||||
echo "Creating folder : $RADARR_CONFIG"
|
||||
mkdir -p "$RADARR_CONFIG"
|
||||
|
||||
echo "Creating folder : $PROWLARR_CONFIG"
|
||||
mkdir -p "$PROWLARR_CONFIG"
|
||||
|
||||
echo "Creating folder : $TRANSMISSION_CONFIG"
|
||||
mkdir -p "$TRANSMISSION_CONFIG"
|
||||
|
||||
echo "Creating folder : $JELLYSEERR_CONFIG"
|
||||
mkdir -p "$JELLYSEERR_CONFIG"
|
||||
|
||||
echo "Creating folder : $JELLYFIN_CONFIG"
|
||||
mkdir -p "$JELLYFIN_CONFIG"
|
||||
|
||||
## patching docker-compose
|
||||
|
||||
echo patching docker-compose
|
||||
|
||||
cp base.yml compose.yml
|
||||
|
||||
USER_ID=$(id -u)
|
||||
GROUP_ID=$(id -g)
|
||||
|
||||
sed -i "s#GLOBAL_USER#$GLOBAL_USER#g" compose.yml
|
||||
|
||||
sed -i "s#USER_ID#$USER_ID#g" compose.yml
|
||||
sed -i "s#GROUP_ID#$GROUP_ID#g" compose.yml
|
||||
|
||||
sed -i "s#SERIES_PATH#$SERIES_PATH#g" compose.yml
|
||||
sed -i "s#FILM_PATH#$FILM_PATH#g" compose.yml
|
||||
|
||||
sed -i "s#DOWNLOAD_FOLDER#$DOWNLOAD_FOLDER#g" compose.yml
|
||||
sed -i "s#SONARR_CONFIG#$SONARR_CONFIG#g" compose.yml
|
||||
sed -i "s#RADARR_CONFIG#$RADARR_CONFIG#g" compose.yml
|
||||
sed -i "s#PROWLARR_CONFIG#$PROWLARR_CONFIG#g" compose.yml
|
||||
sed -i "s#JELLYSEERR_CONFIG#$JELLYSEERR_CONFIG#g" compose.yml
|
||||
sed -i "s#JELLYFIN_CONFIG#$JELLYFIN_CONFIG#g" compose.yml
|
||||
sed -i "s#TRANSMISSION_CONFIG#$TRANSMISSION_CONFIG#g" compose.yml
|
||||
sed -i "s#TRANSMISSION_PASSWORD#$TRANSMISSION_PASSWORD#g" compose.yml
|
||||
sed -i "s#TRANSMISSION_USER#$TRANSMISSION_USER#g" compose.yml
|
||||
|
||||
## Installation de basiquement tout
|
||||
echo docker-compose time .w.
|
||||
docker-compose --file compose.yml up -d
|
||||
|
||||
echo sleep 30 sec to wait for everyone to wake up
|
||||
sleep 30
|
||||
|
||||
# Config de transmission
|
||||
cp ./transmission.json ./temp_transmission.json
|
||||
|
||||
sed -i "s#TRANSMISSION_USER#$TRANSMISSION_USER#g" temp_transmission.json
|
||||
sed -i "s#TRANSMISSION_PASSWORD#$TRANSMISSION_PASSWORD#g" temp_transmission.json
|
||||
|
||||
TEMP_TRANSMISSION_CONFIG=$(cat temp_transmission.json)
|
||||
|
||||
## Config Sonarr
|
||||
|
||||
SONARR_API_KEY=$(docker exec -it sonarr cat /config/config.xml | grep ApiKey | cut -d'>' -f2 | cut -d '<' -f1)
|
||||
|
||||
TEMP_SONARR_CONFIG=$(curl "http://localhost:8989/api/v3/config/host/1?apikey=$SONARR_API_KEY")
|
||||
TEMP_SONARR_CONFIG="$(echo "$TEMP_SONARR_CONFIG" | sed 's/"authenticationMethod.*"/"authenticationMethod": "forms"/g')"
|
||||
TEMP_SONARR_CONFIG="$(echo "$TEMP_SONARR_CONFIG" | sed 's/"username.*"/"username": "'"$SONARR_USER"'"/g')"
|
||||
TEMP_SONARR_CONFIG="$(echo "$TEMP_SONARR_CONFIG" | sed 's/"password":.*"/"password": "'"$SONARR_PASSWORD"'"/g')"
|
||||
TEMP_SONARR_CONFIG="$(echo "$TEMP_SONARR_CONFIG" | sed 's/"passwordConfirmation.*"/"passwordConfirmation": "'"$SONARR_PASSWORD"'"/g')"
|
||||
|
||||
curl --request PUT \
|
||||
--url "http://localhost:8989/api/v3/config/host/1?apikey=$SONARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$TEMP_SONARR_CONFIG"
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:8989/api/v3/rootfolder?apikey=$SONARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"id": 0,
|
||||
"path": "/tv",
|
||||
"accessible": true
|
||||
}'
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:8989/api/v3/downloadclient?apikey=$SONARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$TEMP_TRANSMISSION_CONFIG"
|
||||
|
||||
## Config Radarr
|
||||
TEMP_RADARR_CONFIG=$(docker exec -it radarr cat /config/config.xml)
|
||||
RADARR_API_KEY=$(docker exec -it radarr cat /config/config.xml | grep ApiKey | cut -d'>' -f2 | cut -d '<' -f1)
|
||||
|
||||
TEMP_RADARR_CONFIG=$(curl "http://localhost:7878/api/v3/config/host/1?apikey=$RADARR_API_KEY")
|
||||
TEMP_RADARR_CONFIG="$(echo "$TEMP_RADARR_CONFIG" | sed 's/"authenticationMethod.*"/"authenticationMethod": "forms"/g')"
|
||||
TEMP_RADARR_CONFIG="$(echo "$TEMP_RADARR_CONFIG" | sed 's/"username.*"/"username": "'"$RADARR_USER"'"/g')"
|
||||
TEMP_RADARR_CONFIG="$(echo "$TEMP_RADARR_CONFIG" | sed 's/"password":.*"/"password": "'"$RADARR_PASSWORD"'"/g')"
|
||||
TEMP_RADARR_CONFIG="$(echo "$TEMP_RADARR_CONFIG" | sed 's/"passwordConfirmation.*"/"passwordConfirmation": "'"$RADARR_PASSWORD"'"/g')"
|
||||
|
||||
curl --request PUT \
|
||||
--url "http://localhost:7878/api/v3/config/host/1?apikey=$RADARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$TEMP_RADARR_CONFIG"
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:7878/api/v3/rootfolder?apikey=$RADARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{
|
||||
"id": 0,
|
||||
"path": "/movies",
|
||||
"accessible": true
|
||||
}'
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:7878/api/v3/downloadclient?apikey=$RADARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$TEMP_TRANSMISSION_CONFIG"
|
||||
|
||||
## Config Prowlarr
|
||||
TEMP_PROWLARR_CONFIG=$(docker exec -it prowlarr cat /config/config.xml)
|
||||
PROWLARR_API_KEY=$(docker exec -it prowlarr cat /config/config.xml | grep ApiKey | cut -d'>' -f2 | cut -d '<' -f1)
|
||||
|
||||
TEMP_PROWLARR_CONFIG=$(curl "http://localhost:9696/api/v1/config/host/1?apikey=$PROWLARR_API_KEY")
|
||||
TEMP_PROWLARR_CONFIG="$(echo "$TEMP_PROWLARR_CONFIG" | sed 's/"authenticationMethod.*"/"authenticationMethod": "forms"/g')"
|
||||
TEMP_PROWLARR_CONFIG="$(echo "$TEMP_PROWLARR_CONFIG" | sed 's/"username.*"/"username": "'"$PROWLARR_USER"'"/g')"
|
||||
TEMP_PROWLARR_CONFIG="$(echo "$TEMP_PROWLARR_CONFIG" | sed 's/"password":.*"/"password": "'"$PROWLARR_PASSWORD"'"/g')"
|
||||
TEMP_PROWLARR_CONFIG="$(echo "$TEMP_PROWLARR_CONFIG" | sed 's/"passwordConfirmation.*"/"passwordConfirmation": "'"$PROWLARR_PASSWORD"'"/g')"
|
||||
|
||||
curl --request PUT \
|
||||
--url "http://localhost:9696/api/v1/config/host/1?apikey=$PROWLARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$TEMP_PROWLARR_CONFIG"
|
||||
|
||||
cp prowlarr_radarr_app.json temp_prowlarr_radarr_app.json
|
||||
cp prowlarr_sonarr_app.json temp_prowlarr_sonarr_app.json
|
||||
|
||||
sed -i "s/RADARR_API_KEY/$RADARR_API_KEY/g" temp_prowlarr_radarr_app.json
|
||||
sed -i "s/SONARR_API_KEY/$SONARR_API_KEY/g" temp_prowlarr_sonarr_app.json
|
||||
|
||||
RADARR_APP_CONFIG=$(cat temp_prowlarr_radarr_app.json)
|
||||
SONARR_APP_CONFIG=$(cat temp_prowlarr_sonarr_app.json)
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:9696/api/v1/applications?apikey=$PROWLARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$SONARR_APP_CONFIG"
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:9696/api/v1/applications?apikey=$PROWLARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$RADARR_APP_CONFIG"
|
||||
|
||||
## Ajouter flaresolverr
|
||||
|
||||
FLARESOLVERR_PROXY_CONFIG=$(cat prowlarr_flaresolverr.json)
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:9696/api/v1/tag?apikey=$PROWLARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{"id": 0,"label": "flaresolverr"}'
|
||||
|
||||
curl --request POST \
|
||||
--url "http://localhost:9696/api/v1/indexerproxy?apikey=$PROWLARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$FLARESOLVERR_PROXY_CONFIG"
|
||||
|
||||
|
||||
## Ajouter des indexers
|
||||
INDEXER_LENGHT=$(cat prowlarr_indexers.json | jq length)
|
||||
INDEXER_LENGHT=$(($INDEXER_LENGHT - 1))
|
||||
echo $INDEXER_LENGHT
|
||||
|
||||
for index in $(eval echo "{0..$INDEXER_LENGHT}");do
|
||||
echo "########################"
|
||||
indexer=$(cat prowlarr_indexers.json | jq ".[$index]")
|
||||
indexer=$(echo $indexer | jq 'del(.id)')
|
||||
echo $indexer | jq '.name'
|
||||
curl --request POST \
|
||||
-s -S \
|
||||
--url "http://localhost:9696/api/v1/indexer?apikey=$PROWLARR_API_KEY" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "$indexer"
|
||||
done
|
||||
|
||||
# post install
|
||||
clear
|
||||
echo Done !
|
||||
|
||||
echo '
|
||||
# Jellyfin Config :
|
||||
|
||||
head over to http://localhost:8096/ then
|
||||
- Create an account
|
||||
- Create two libraries
|
||||
- One for movies : select type "movies", folder /data/movies
|
||||
- One for tv show : select type "tv shows", folder /data/tvshows
|
||||
|
||||
And there is your media center !
|
||||
|
||||
# Jellyseerr Config :
|
||||
|
||||
head over to http://localhost:5055/ then
|
||||
- Login with your previously created jellyfin account
|
||||
- jellyfin url "http://jellyfin:8096"
|
||||
- you must put a email address but it does not need to be valid
|
||||
- enter Jellyfin username and password
|
||||
- Sync the libraries with jellyfin and select the previously libraries
|
||||
- Add Radarr and Sonarr :'
|
||||
|
||||
echo "
|
||||
|
||||
## Radarr
|
||||
|
||||
Default server : True
|
||||
name : Radarr
|
||||
hostname : http://radarr
|
||||
api key : $RADARR_API_KEY
|
||||
root folder : /movies (click 'test' button below if not changeable )
|
||||
|
||||
## Sonarr
|
||||
|
||||
Default server : True
|
||||
name : Sonarr
|
||||
hostname : http://sonarr
|
||||
api key : $SONARR_API_KEY
|
||||
root folder : /tv (click 'test' button below if not changeable )
|
||||
"
|
||||
|
||||
echo "this has also been written to POST_INSTALL.md"
|
||||
rm temp*
|
||||
rm compose.yml
|
||||
|
||||
###############################
|
||||
|
||||
echo '
|
||||
# Jellyfin Config :
|
||||
|
||||
head over to http://localhost:8096/ then
|
||||
- Create an account
|
||||
- Create two libraries
|
||||
- One for movies : select type "movies", folder /data/movies
|
||||
- One for tv show : select type "tv shows", folder /data/tvshows
|
||||
|
||||
And there is your media center !
|
||||
|
||||
# Jellyseerr Config :
|
||||
|
||||
head over to http://localhost:5055/ then
|
||||
- Login with your previously created jellyfin account
|
||||
- jellyfin url "http://jellyfin:8096"
|
||||
- you must put a email address but it does not need to be valid
|
||||
- enter Jellyfin username and password
|
||||
- Sync the libraries with jellyfin and select the previously libraries
|
||||
- Add Radarr and Sonarr :' >> POST_INSTALL.md
|
||||
|
||||
echo "
|
||||
|
||||
## Radarr
|
||||
|
||||
Default server : True
|
||||
name : Radarr
|
||||
hostname : http://radarr
|
||||
api key : $RADARR_API_KEY
|
||||
root folder : /movies (click 'test' button below if not changeable )
|
||||
|
||||
## Sonarr
|
||||
|
||||
Default server : True
|
||||
name : Sonarr
|
||||
hostname : http://sonarr
|
||||
api key : $SONARR_API_KEY
|
||||
root folder : /tv (click 'test' button below if not changeable )
|
||||
" >> POST_INSTALL.md
|
||||
|
||||
echo "
|
||||
# Services
|
||||
|
||||
Streaming des videos
|
||||
-> Jellyfin : http://localhost:8096
|
||||
|
||||
Rerchercher et Ajouter
|
||||
-> Jellyseerr : http://localhost:5055
|
||||
|
||||
Gerer les films
|
||||
-> Radarr http://localhost:7878
|
||||
|
||||
Gerer les series
|
||||
-> Sonarr : http://localhost:8989
|
||||
|
||||
Rerchercher sur les sites de torrents
|
||||
-> Prowlarr : http://localhost:9696
|
||||
|
||||
Telecharger
|
||||
-> Transmission : http://localhost:9091
|
||||
" >> POST_INSTALL.md
|
35
prowlarr_flaresolverr.json
Normal file
35
prowlarr_flaresolverr.json
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"enable": true,
|
||||
"name": "flaresolverr",
|
||||
"onHealthIssue": false,
|
||||
"supportsOnHealthIssue": false,
|
||||
"includeHealthWarnings": false,
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "host",
|
||||
"label": "Host",
|
||||
"value": "http://flaresolverr:8191/",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 1,
|
||||
"name": "requestTimeout",
|
||||
"label": "Request Timeout",
|
||||
"unit": "seconds",
|
||||
"helpText": "FlareSolverr maxTimeout Request Parameter",
|
||||
"value": 60,
|
||||
"type": "textbox",
|
||||
"advanced": true,
|
||||
"isFloat": false
|
||||
}
|
||||
],
|
||||
"implementationName": "FlareSolverr",
|
||||
"implementation": "FlareSolverr",
|
||||
"configContract": "FlareSolverrSettings",
|
||||
"infoLink": "https://wiki.servarr.com/prowlarr/supported#flaresolverr",
|
||||
"tags": [1],
|
||||
"presets": []
|
||||
}
|
18341
prowlarr_indexers.json
Normal file
18341
prowlarr_indexers.json
Normal file
File diff suppressed because it is too large
Load Diff
63
prowlarr_radarr_app.json
Normal file
63
prowlarr_radarr_app.json
Normal file
@ -0,0 +1,63 @@
|
||||
{
|
||||
"syncLevel": "fullSync",
|
||||
"name": "Radarr",
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "prowlarrUrl",
|
||||
"label": "Prowlarr Server",
|
||||
"helpText": "Prowlarr server URL as Radarr sees it, including http(s)://, port, and urlbase if needed",
|
||||
"value": "http://prowlarr:9696",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"placeholder": "http://localhost:9696",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 1,
|
||||
"name": "baseUrl",
|
||||
"label": "Radarr Server",
|
||||
"helpText": "URL used to connect to Radarr server, including http(s)://, port, and urlbase if required",
|
||||
"value": "http://radarr:7878",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"placeholder": "http://radarr:7878",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 2,
|
||||
"name": "apiKey",
|
||||
"label": "API Key",
|
||||
"helpText": "The ApiKey generated by Radarr in Settings/General",
|
||||
"value" : "RADARR_API_KEY",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 3,
|
||||
"name": "syncCategories",
|
||||
"label": "Sync Categories",
|
||||
"helpText": "Only Indexers that support these categories will be synced",
|
||||
"value": [
|
||||
2000,
|
||||
2010,
|
||||
2020,
|
||||
2030,
|
||||
2040,
|
||||
2045,
|
||||
2050,
|
||||
2060,
|
||||
2070,
|
||||
2080,
|
||||
2090
|
||||
]
|
||||
}
|
||||
],
|
||||
"implementationName": "Radarr",
|
||||
"implementation": "Radarr",
|
||||
"configContract": "RadarrSettings",
|
||||
"infoLink": "https://wiki.servarr.com/prowlarr/supported#radarr",
|
||||
"tags": [],
|
||||
"presets": []
|
||||
}
|
79
prowlarr_sonarr_app.json
Normal file
79
prowlarr_sonarr_app.json
Normal file
@ -0,0 +1,79 @@
|
||||
{
|
||||
"name" : "Sonarr",
|
||||
"syncLevel": "fullSync",
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "prowlarrUrl",
|
||||
"label": "Prowlarr Server",
|
||||
"helpText": "Prowlarr server URL as Sonarr sees it, including http(s)://, port, and urlbase if needed",
|
||||
"value": "http://prowlarr:9696",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"placeholder": "http://localhost:9696",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 1,
|
||||
"name": "baseUrl",
|
||||
"label": "Sonarr Server",
|
||||
"helpText": "URL used to connect to Sonarr server, including http(s)://, port, and urlbase if required",
|
||||
"value": "http://sonarr:8989",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"placeholder": "http://localhost:8989",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 2,
|
||||
"name": "apiKey",
|
||||
"label": "API Key",
|
||||
"helpText": "The ApiKey generated by Sonarr in Settings/General",
|
||||
"type": "textbox",
|
||||
"value" : "SONARR_API_KEY",
|
||||
"advanced": false,
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 3,
|
||||
"name": "syncCategories",
|
||||
"label": "Sync Categories",
|
||||
"helpText": "Only Indexers that support these categories will be synced",
|
||||
"value": [
|
||||
5000,
|
||||
5010,
|
||||
5020,
|
||||
5030,
|
||||
5040,
|
||||
5045,
|
||||
5050,
|
||||
5090
|
||||
]
|
||||
},
|
||||
{
|
||||
"order": 4,
|
||||
"name": "animeSyncCategories",
|
||||
"label": "Anime Sync Categories",
|
||||
"helpText": "Only Indexers that support these categories will be synced",
|
||||
"value": [
|
||||
5070
|
||||
]
|
||||
},
|
||||
{
|
||||
"order": 5,
|
||||
"name": "syncAnimeStandardFormatSearch",
|
||||
"label": "Sync Anime Standard Format Search",
|
||||
"helpText": "Sync also searching for anime using the standard numbering",
|
||||
"value": false,
|
||||
"type": "checkbox",
|
||||
"advanced": true,
|
||||
"isFloat": false
|
||||
}
|
||||
],
|
||||
"implementationName": "Sonarr",
|
||||
"implementation": "Sonarr",
|
||||
"configContract": "SonarrSettings",
|
||||
"infoLink": "https://wiki.servarr.com/prowlarr/supported#sonarr",
|
||||
"tags": [],
|
||||
"presets": []
|
||||
}
|
154
transmission.json
Normal file
154
transmission.json
Normal file
@ -0,0 +1,154 @@
|
||||
{
|
||||
"enable": true,
|
||||
"protocol": "torrent",
|
||||
"priority": 1,
|
||||
"removeCompletedDownloads": true,
|
||||
"removeFailedDownloads": true,
|
||||
"name": "Transmission",
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "host",
|
||||
"label": "Host",
|
||||
"value": "transmission",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 1,
|
||||
"name": "port",
|
||||
"label": "Port",
|
||||
"value": 9091,
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 2,
|
||||
"name": "useSsl",
|
||||
"label": "Use SSL",
|
||||
"helpText": "Use secure connection when connection to Transmission",
|
||||
"value": false,
|
||||
"type": "checkbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 3,
|
||||
"name": "urlBase",
|
||||
"label": "URL Base",
|
||||
"helpText": "Adds a prefix to the transmission rpc url, eg http://[host]:[port]/[urlBase]/rpc, defaults to '/transmission/'",
|
||||
"value": "/transmission/",
|
||||
"type": "textbox",
|
||||
"advanced": true,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 4,
|
||||
"name": "username",
|
||||
"label": "Username",
|
||||
"value": "TRANSMISSION_USER",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "userName",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 5,
|
||||
"name": "password",
|
||||
"label": "Password",
|
||||
"type": "password",
|
||||
"value": "TRANSMISSION_PASSWORD",
|
||||
"advanced": false,
|
||||
"privacy": "password",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 6,
|
||||
"name": "tvCategory",
|
||||
"label": "Category",
|
||||
"helpText": "Adding a category specific to Sonarr avoids conflicts with unrelated non-Sonarr downloads. Using a category is optional, but strongly recommended. Creates a [category] subdirectory in the output directory.",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 7,
|
||||
"name": "tvDirectory",
|
||||
"label": "Directory",
|
||||
"helpText": "Optional location to put downloads in, leave blank to use the default Transmission location",
|
||||
"type": "textbox",
|
||||
"advanced": true,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 8,
|
||||
"name": "recentTvPriority",
|
||||
"label": "Recent Priority",
|
||||
"helpText": "Priority to use when grabbing episodes that aired within the last 14 days",
|
||||
"value": 0,
|
||||
"type": "select",
|
||||
"advanced": false,
|
||||
"selectOptions": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Last",
|
||||
"order": 0
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "First",
|
||||
"order": 1
|
||||
}
|
||||
],
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 9,
|
||||
"name": "olderTvPriority",
|
||||
"label": "Older Priority",
|
||||
"helpText": "Priority to use when grabbing episodes that aired over 14 days ago",
|
||||
"value": 0,
|
||||
"type": "select",
|
||||
"advanced": false,
|
||||
"selectOptions": [
|
||||
{
|
||||
"value": 0,
|
||||
"name": "Last",
|
||||
"order": 0
|
||||
},
|
||||
{
|
||||
"value": 1,
|
||||
"name": "First",
|
||||
"order": 1
|
||||
}
|
||||
],
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
},
|
||||
{
|
||||
"order": 10,
|
||||
"name": "addPaused",
|
||||
"label": "Add Paused",
|
||||
"value": false,
|
||||
"type": "checkbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
}
|
||||
],
|
||||
"implementationName": "Transmission",
|
||||
"implementation": "Transmission",
|
||||
"configContract": "TransmissionSettings",
|
||||
"infoLink": "https://wiki.servarr.com/sonarr/supported#transmission",
|
||||
"tags": [],
|
||||
"presets": []
|
||||
}
|
Loading…
Reference in New Issue
Block a user