Add radarr, sonarr volume mounts

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-07-10 10:28:21 +01:00
parent 384f1b222f
commit 479af0caf5
6 changed files with 78 additions and 12 deletions

View File

@@ -348,8 +348,15 @@ in
[ [
"${setup}:/etc/radarr/setup.sh:ro" "${setup}:/etc/radarr/setup.sh:ro"
"${volumes.radarr-films.ref}:/var/lib/radarr" "${volumes.radarr-films.ref}:/var/lib/radarr"
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
]; ];
environments.RADARR_URL_BASE = "/manage/films"; environments = {
RADARR_INSTANCE_NAME = "Radarr (Films)";
RADARR_URL_BASE = "/manage/films";
RADARR_ROOT_FOLDER = "/var/lib/media/films";
RADARR_DOWNLOAD_CATEGORY = "radarr-films";
};
environmentFiles = [ hmConfig.sops.templates.radarr-films-env.path ]; environmentFiles = [ hmConfig.sops.templates.radarr-films-env.path ];
labels = [ labels = [
"traefik.enable=true" "traefik.enable=true"
@@ -390,8 +397,15 @@ in
[ [
"${setup}:/etc/radarr/setup.sh:ro" "${setup}:/etc/radarr/setup.sh:ro"
"${volumes.radarr-anime-films.ref}:/var/lib/radarr" "${volumes.radarr-anime-films.ref}:/var/lib/radarr"
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
]; ];
environments.RADARR_URL_BASE = "/manage/anime-films"; environments = {
RADARR_INSTANCE_NAME = "Radarr (Anime Films)";
RADARR_URL_BASE = "/manage/anime-films";
RADARR_ROOT_FOLDER = "/var/lib/media/anime-films";
RADARR_DOWNLOAD_CATEGORY = "radarr-anime-films";
};
environmentFiles = [ hmConfig.sops.templates.radarr-anime-films-env.path ]; environmentFiles = [ hmConfig.sops.templates.radarr-anime-films-env.path ];
labels = [ labels = [
"traefik.enable=true" "traefik.enable=true"
@@ -432,8 +446,15 @@ in
[ [
"${setup}:/etc/sonarr/setup.sh:ro" "${setup}:/etc/sonarr/setup.sh:ro"
"${volumes.sonarr-shows.ref}:/var/lib/sonarr" "${volumes.sonarr-shows.ref}:/var/lib/sonarr"
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
]; ];
environments.SONARR_URL_BASE = "/manage/shows"; environments = {
SONARR_INSTANCE_NAME = "Sonarr (Shows)";
SONARR_URL_BASE = "/manage/shows";
SONARR_ROOT_FOLDER = "/var/lib/media/shows";
SONARR_DOWNLOAD_CATEGORY = "sonarr-shows";
};
environmentFiles = [ hmConfig.sops.templates.sonarr-shows-env.path ]; environmentFiles = [ hmConfig.sops.templates.sonarr-shows-env.path ];
labels = [ labels = [
"traefik.enable=true" "traefik.enable=true"
@@ -474,8 +495,15 @@ in
[ [
"${setup}:/etc/sonarr/setup.sh:ro" "${setup}:/etc/sonarr/setup.sh:ro"
"${volumes.sonarr-anime-shows.ref}:/var/lib/sonarr" "${volumes.sonarr-anime-shows.ref}:/var/lib/sonarr"
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
]; ];
environments.SONARR_URL_BASE = "/manage/anime-shows"; environments = {
SONARR_INSTANCE_NAME = "Sonarr (Anime Shows)";
SONARR_URL_BASE = "/manage/anime-shows";
SONARR_ROOT_FOLDER = "/var/lib/media/anime-shows";
SONARR_DOWNLOAD_CATEGORY = "sonarr-anime-shows";
};
environmentFiles = [ hmConfig.sops.templates.sonarr-anime-shows-env.path ]; environmentFiles = [ hmConfig.sops.templates.sonarr-anime-shows-env.path ];
labels = [ labels = [
"traefik.enable=true" "traefik.enable=true"

View File

@@ -1,5 +1,9 @@
# shellcheck shell=sh # shellcheck shell=sh
RADARR_DOWNLOAD_CATEGORY="${RADARR_DOWNLOAD_CATEGORY:-radarr}"
mkdir -p "/var/lib/transmission/$RADARR_DOWNLOAD_CATEGORY"
{ {
curl -sf --retry 5 "$RADARR_HOST/api/v3/downloadclient?forceSave=true" \ curl -sf --retry 5 "$RADARR_HOST/api/v3/downloadclient?forceSave=true" \
-X POST \ -X POST \
@@ -23,6 +27,10 @@
{ {
"name": "urlBase", "name": "urlBase",
"value": "" "value": ""
},
{
"name": "movieCategory",
"value": "$RADARR_DOWNLOAD_CATEGORY"
} }
], ],
"implementation": "Transmission", "implementation": "Transmission",
@@ -30,3 +38,11 @@
} }
EOF EOF
} || true } || true
if [ ! -z "${RADARR_ROOT_FOLDER:-}" ]; then
curl -sf "$RADARR_HOST/api/v3/rootfolder" \
-X POST \
-H 'Content-Type: application/json' \
-H "X-Api-Key: $RADARR_API_KEY" \
--data-raw "{\"path\": \"$RADARR_ROOT_FOLDER\"}" || true
fi

View File

@@ -1,5 +1,9 @@
# shellcheck shell=sh # shellcheck shell=sh
SONARR_DOWNLOAD_CATEGORY="${SONARR_DOWNLOAD_CATEGORY:-sonarr}"
mkdir -p "/var/lib/transmission/$SONARR_DOWNLOAD_CATEGORY"
{ {
curl -sf --retry 10 "$SONARR_HOST/api/v3/downloadclient?forceSave=true" \ curl -sf --retry 10 "$SONARR_HOST/api/v3/downloadclient?forceSave=true" \
-X POST \ -X POST \
@@ -23,6 +27,10 @@
{ {
"name": "urlBase", "name": "urlBase",
"value": "" "value": ""
},
{
"name": "tvCategory",
"value": "$SONARR_DOWNLOAD_CATEGORY"
} }
], ],
"implementation": "Transmission", "implementation": "Transmission",
@@ -30,3 +38,11 @@
} }
EOF EOF
} || true } || true
if [ ! -z "${SONARR_ROOT_FOLDER:-}" ]; then
curl -sf "$SONARR_HOST/api/v3/rootfolder" \
-X POST \
-H 'Content-Type: application/json' \
-H "X-Api-Key: $SONARR_API_KEY" \
--data-raw "{\"path\": \"$SONARR_ROOT_FOLDER\"}" || true
fi

View File

@@ -3,6 +3,8 @@
set -o errexit set -o errexit
set -o nounset set -o nounset
PROWLARR_URL_BASE="${PROWLARR_URL_BASE:-}"
if [ ! -f /var/lib/prowlarr/init ]; then if [ ! -f /var/lib/prowlarr/init ]; then
echo '<Config/>' > /var/lib/prowlarr/config.xml echo '<Config/>' > /var/lib/prowlarr/config.xml
@@ -12,7 +14,7 @@ if [ ! -f /var/lib/prowlarr/init ]; then
-s /Config -t elem -n AuthenticationMethod -v "External" \ -s /Config -t elem -n AuthenticationMethod -v "External" \
-s /Config -t elem -n AuthenticationRequired -v "DisabledForLocalAddresses" \ -s /Config -t elem -n AuthenticationRequired -v "DisabledForLocalAddresses" \
-s /Config -t elem -n LogLevel -v "info" \ -s /Config -t elem -n LogLevel -v "info" \
-s /Config -t elem -n UrlBase -v "${PROWLARR_URL_BASE:-}" \ -s /Config -t elem -n UrlBase -v "$PROWLARR_URL_BASE" \
-s /Config -t elem -n InstanceName -v "${PROWLARR_INSTANCE_NAME:-prowlarr}" \ -s /Config -t elem -n InstanceName -v "${PROWLARR_INSTANCE_NAME:-prowlarr}" \
-s /Config -t elem -n AnalyticsEnabled -v "False" \ -s /Config -t elem -n AnalyticsEnabled -v "False" \
/var/lib/prowlarr/config.xml /var/lib/prowlarr/config.xml
@@ -21,7 +23,7 @@ fi
Prowlarr -data=/var/lib/prowlarr -nobrowser "$@" & Prowlarr -data=/var/lib/prowlarr -nobrowser "$@" &
PID=$! PID=$!
PROWLARR_HOST="http://localhost:9696${PROWLARR_URL_BASE:-}" PROWLARR_HOST="http://localhost:9696$PROWLARR_URL_BASE"
if [ ! -f /var/lib/prowlarr/init ]; then if [ ! -f /var/lib/prowlarr/init ]; then
curl -sf --retry 10 --retry-connrefused \ curl -sf --retry 10 --retry-connrefused \

View File

@@ -3,6 +3,8 @@
set -o errexit set -o errexit
set -o nounset set -o nounset
RADARR_URL_BASE="${RADARR_URL_BASE:-}"
if [ ! -f /var/lib/radarr/init ]; then if [ ! -f /var/lib/radarr/init ]; then
echo '<Config/>' > /var/lib/radarr/config.xml echo '<Config/>' > /var/lib/radarr/config.xml
@@ -12,8 +14,8 @@ if [ ! -f /var/lib/radarr/init ]; then
-s /Config -t elem -n AuthenticationMethod -v "External" \ -s /Config -t elem -n AuthenticationMethod -v "External" \
-s /Config -t elem -n AuthenticationRequired -v "DisabledForLocalAddresses" \ -s /Config -t elem -n AuthenticationRequired -v "DisabledForLocalAddresses" \
-s /Config -t elem -n LogLevel -v "info" \ -s /Config -t elem -n LogLevel -v "info" \
-s /Config -t elem -n UrlBase -v "${RADARR_URL_BASE:-}" \ -s /Config -t elem -n UrlBase -v "$RADARR_URL_BASE" \
-s /Config -t elem -n InstanceName -v "${RADARR_INSTANCE_NAME:-radarr}" \ -s /Config -t elem -n InstanceName -v "${RADARR_INSTANCE_NAME:-Radarr}" \
-s /Config -t elem -n AnalyticsEnabled -v "False" \ -s /Config -t elem -n AnalyticsEnabled -v "False" \
/var/lib/radarr/config.xml /var/lib/radarr/config.xml
fi fi
@@ -21,7 +23,7 @@ fi
Radarr -data=/var/lib/radarr -nobrowser "$@" & Radarr -data=/var/lib/radarr -nobrowser "$@" &
PID=$! PID=$!
RADARR_HOST="http://localhost:7878${RADARR_URL_BASE:-}" RADARR_HOST="http://localhost:7878$RADARR_URL_BASE"
if [ ! -f /var/lib/radarr/init ]; then if [ ! -f /var/lib/radarr/init ]; then
curl -sf --retry 10 --retry-connrefused \ curl -sf --retry 10 --retry-connrefused \

View File

@@ -3,6 +3,8 @@
set -o errexit set -o errexit
set -o nounset set -o nounset
SONARR_URL_BASE="${SONARR_URL_BASE:-}"
if [ ! -f /var/lib/sonarr/init ]; then if [ ! -f /var/lib/sonarr/init ]; then
echo '<Config/>' > /var/lib/sonarr/config.xml echo '<Config/>' > /var/lib/sonarr/config.xml
@@ -12,8 +14,8 @@ if [ ! -f /var/lib/sonarr/init ]; then
-s /Config -t elem -n AuthenticationMethod -v "External" \ -s /Config -t elem -n AuthenticationMethod -v "External" \
-s /Config -t elem -n AuthenticationRequired -v "DisabledForLocalAddresses" \ -s /Config -t elem -n AuthenticationRequired -v "DisabledForLocalAddresses" \
-s /Config -t elem -n LogLevel -v "info" \ -s /Config -t elem -n LogLevel -v "info" \
-s /Config -t elem -n UrlBase -v "${SONARR_URL_BASE:-}" \ -s /Config -t elem -n UrlBase -v "$SONARR_URL_BASE" \
-s /Config -t elem -n InstanceName -v "${SONARR_INSTANCE_NAME:-sonarr}" \ -s /Config -t elem -n InstanceName -v "${SONARR_INSTANCE_NAME:-Sonarr}" \
-s /Config -t elem -n AnalyticsEnabled -v "False" \ -s /Config -t elem -n AnalyticsEnabled -v "False" \
/var/lib/sonarr/config.xml /var/lib/sonarr/config.xml
fi fi
@@ -21,7 +23,7 @@ fi
Sonarr -data=/var/lib/sonarr -nobrowser "$@" & Sonarr -data=/var/lib/sonarr -nobrowser "$@" &
PID=$! PID=$!
SONARR_HOST="http://localhost:8989${SONARR_URL_BASE:-}" SONARR_HOST="http://localhost:8989$SONARR_URL_BASE"
if [ ! -f /var/lib/sonarr/init ]; then if [ ! -f /var/lib/sonarr/init ]; then
curl -sf --retry 10 --retry-connrefused \ curl -sf --retry 10 --retry-connrefused \