first commit

This commit is contained in:
Djalim Simaila 2024-01-03 23:29:26 +01:00
commit 73943d33b6
8 changed files with 19246 additions and 0 deletions

111
README.md Normal file
View 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
View 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
View 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

View 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

File diff suppressed because it is too large Load Diff

63
prowlarr_radarr_app.json Normal file
View 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
View 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
View 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": []
}