Clean up media names
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -22,8 +22,8 @@ in
|
|||||||
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data 700 storm storm"
|
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data 700 storm storm"
|
||||||
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/films 755 storm storm"
|
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/films 755 storm storm"
|
||||||
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/shows 755 storm storm"
|
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/shows 755 storm storm"
|
||||||
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/anime-films 755 storm storm"
|
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/anime/films 755 storm storm"
|
||||||
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/anime-shows 755 storm storm"
|
"d /mnt/storage/private/storm/containers/storage/volumes/media/_data/anime/shows 755 storm storm"
|
||||||
];
|
];
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
@@ -34,10 +34,12 @@ in
|
|||||||
|
|
||||||
"prowlarr/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
"prowlarr/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
|
|
||||||
"radarr-films/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
"radarr/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
"radarr-anime-films/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
"radarr-uhd/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
"sonarr-shows/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
"radarr-anime/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
"sonarr-anime-shows/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
"sonarr/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
|
"sonarr-uhd/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
|
"sonarr-anime/apiKey".sopsFile = ../../../../../../secrets/secrets.yaml;
|
||||||
};
|
};
|
||||||
|
|
||||||
templates = {
|
templates = {
|
||||||
@@ -84,10 +86,10 @@ in
|
|||||||
PROWLARR_API_KEY=${hmConfig.sops.placeholder."prowlarr/apiKey"}
|
PROWLARR_API_KEY=${hmConfig.sops.placeholder."prowlarr/apiKey"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prowlarr-radarr-films.content = builtins.readFile (
|
prowlarr-radarr.content = builtins.readFile (
|
||||||
(pkgs.formats.json { }).generate "radarr-films.json" {
|
(pkgs.formats.json { }).generate "radarr.json" {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "Radarr (Films)";
|
name = "Radarr";
|
||||||
implementation = "Radarr";
|
implementation = "Radarr";
|
||||||
configContract = "RadarrSettings";
|
configContract = "RadarrSettings";
|
||||||
syncLevel = "fullSync";
|
syncLevel = "fullSync";
|
||||||
@@ -98,20 +100,20 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "baseUrl";
|
name = "baseUrl";
|
||||||
value = "http://radarr-films:7878";
|
value = "http://radarr:7878";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "apiKey";
|
name = "apiKey";
|
||||||
value = hmConfig.sops.placeholder."radarr-films/apiKey";
|
value = hmConfig.sops.placeholder."radarr/apiKey";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
prowlarr-radarr-anime-films.content = builtins.readFile (
|
prowlarr-radarr-uhd.content = builtins.readFile (
|
||||||
(pkgs.formats.json { }).generate "radarr-anime-films.json" {
|
(pkgs.formats.json { }).generate "radarr-uhd.json" {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "Radarr (Anime Films)";
|
name = "Radarr (UHD)";
|
||||||
implementation = "Radarr";
|
implementation = "Radarr";
|
||||||
configContract = "RadarrSettings";
|
configContract = "RadarrSettings";
|
||||||
syncLevel = "fullSync";
|
syncLevel = "fullSync";
|
||||||
@@ -122,20 +124,44 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "baseUrl";
|
name = "baseUrl";
|
||||||
value = "http://radarr-anime-films:7878";
|
value = "http://radarr-uhd:7878";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "apiKey";
|
name = "apiKey";
|
||||||
value = hmConfig.sops.placeholder."radarr-anime-films/apiKey";
|
value = hmConfig.sops.placeholder."radarr-uhd/apiKey";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
prowlarr-sonarr-shows.content = builtins.readFile (
|
prowlarr-radarr-anime.content = builtins.readFile (
|
||||||
(pkgs.formats.json { }).generate "sonarr-shows.json" {
|
(pkgs.formats.json { }).generate "radarr-anime.json" {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "Sonarr (Shows)";
|
name = "Radarr (Anime)";
|
||||||
|
implementation = "Radarr";
|
||||||
|
configContract = "RadarrSettings";
|
||||||
|
syncLevel = "fullSync";
|
||||||
|
fields = [
|
||||||
|
{
|
||||||
|
name = "prowlarrUrl";
|
||||||
|
value = "http://prowlarr:9696";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "baseUrl";
|
||||||
|
value = "http://radarr-anime:7878";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "apiKey";
|
||||||
|
value = hmConfig.sops.placeholder."radarr-anime/apiKey";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
prowlarr-sonarr.content = builtins.readFile (
|
||||||
|
(pkgs.formats.json { }).generate "sonarr.json" {
|
||||||
|
enable = true;
|
||||||
|
name = "Sonarr";
|
||||||
implementation = "Sonarr";
|
implementation = "Sonarr";
|
||||||
configContract = "SonarrSettings";
|
configContract = "SonarrSettings";
|
||||||
syncLevel = "fullSync";
|
syncLevel = "fullSync";
|
||||||
@@ -146,20 +172,20 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "baseUrl";
|
name = "baseUrl";
|
||||||
value = "http://sonarr-shows:8989";
|
value = "http://sonarr:8989";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "apiKey";
|
name = "apiKey";
|
||||||
value = hmConfig.sops.placeholder."sonarr-shows/apiKey";
|
value = hmConfig.sops.placeholder."sonarr/apiKey";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
prowlarr-sonarr-anime-shows.content = builtins.readFile (
|
prowlarr-sonarr-uhd.content = builtins.readFile (
|
||||||
(pkgs.formats.json { }).generate "sonarr-anime-shows.json" {
|
(pkgs.formats.json { }).generate "sonarr-uhd.json" {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "Sonarr (Anime Shows)";
|
name = "Sonarr (UHD)";
|
||||||
implementation = "Sonarr";
|
implementation = "Sonarr";
|
||||||
configContract = "SonarrSettings";
|
configContract = "SonarrSettings";
|
||||||
syncLevel = "fullSync";
|
syncLevel = "fullSync";
|
||||||
@@ -170,30 +196,62 @@ in
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "baseUrl";
|
name = "baseUrl";
|
||||||
value = "http://sonarr-anime-shows:8989";
|
value = "http://sonarr-uhd:8989";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "apiKey";
|
name = "apiKey";
|
||||||
value = hmConfig.sops.placeholder."sonarr-anime-shows/apiKey";
|
value = hmConfig.sops.placeholder."sonarr-uhd/apiKey";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
radarr-films-env.content = ''
|
prowlarr-sonarr-anime.content = builtins.readFile (
|
||||||
RADARR_API_KEY=${hmConfig.sops.placeholder."radarr-films/apiKey"}
|
(pkgs.formats.json { }).generate "sonarr-anime.json" {
|
||||||
|
enable = true;
|
||||||
|
name = "Sonarr (Anime)";
|
||||||
|
implementation = "Sonarr";
|
||||||
|
configContract = "SonarrSettings";
|
||||||
|
syncLevel = "fullSync";
|
||||||
|
fields = [
|
||||||
|
{
|
||||||
|
name = "prowlarrUrl";
|
||||||
|
value = "http://prowlarr:9696";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "baseUrl";
|
||||||
|
value = "http://sonarr-anime:8989";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "apiKey";
|
||||||
|
value = hmConfig.sops.placeholder."sonarr-anime/apiKey";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
radarr-env.content = ''
|
||||||
|
RADARR_API_KEY=${hmConfig.sops.placeholder."radarr/apiKey"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
radarr-anime-films-env.content = ''
|
radarr-uhd-env.content = ''
|
||||||
RADARR_API_KEY=${hmConfig.sops.placeholder."radarr-anime-films/apiKey"}
|
RADARR_API_KEY=${hmConfig.sops.placeholder."radarr-uhd/apiKey"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sonarr-shows-env.content = ''
|
radarr-anime-env.content = ''
|
||||||
SONARR_API_KEY=${hmConfig.sops.placeholder."sonarr-shows/apiKey"}
|
RADARR_API_KEY=${hmConfig.sops.placeholder."radarr-anime/apiKey"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sonarr-anime-shows-env.content = ''
|
sonarr-env.content = ''
|
||||||
SONARR_API_KEY=${hmConfig.sops.placeholder."sonarr-anime-shows/apiKey"}
|
SONARR_API_KEY=${hmConfig.sops.placeholder."sonarr/apiKey"}
|
||||||
|
'';
|
||||||
|
|
||||||
|
sonarr-uhd-env.content = ''
|
||||||
|
SONARR_API_KEY=${hmConfig.sops.placeholder."sonarr-uhd/apiKey"}
|
||||||
|
'';
|
||||||
|
|
||||||
|
sonarr-anime-env.content = ''
|
||||||
|
SONARR_API_KEY=${hmConfig.sops.placeholder."sonarr-anime/apiKey"}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -213,10 +271,12 @@ in
|
|||||||
|
|
||||||
prowlarr = { };
|
prowlarr = { };
|
||||||
|
|
||||||
radarr-films = { };
|
radarr = { };
|
||||||
radarr-anime-films = { };
|
radarr-uhd = { };
|
||||||
sonarr-shows = { };
|
radarr-anime = { };
|
||||||
sonarr-anime-shows = { };
|
sonarr = { };
|
||||||
|
sonarr-uhd = { };
|
||||||
|
sonarr-anime = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
containers = {
|
containers = {
|
||||||
@@ -296,10 +356,12 @@ in
|
|||||||
"${setup}:/etc/prowlarr/setup.sh:ro"
|
"${setup}:/etc/prowlarr/setup.sh:ro"
|
||||||
"${postStart}:/etc/prowlarr/post-start.sh:ro"
|
"${postStart}:/etc/prowlarr/post-start.sh:ro"
|
||||||
"${./prowlarr/indexers}:/etc/prowlarr/indexers:ro"
|
"${./prowlarr/indexers}:/etc/prowlarr/indexers:ro"
|
||||||
"${hmConfig.sops.templates.prowlarr-radarr-films.path}:/etc/prowlarr/apps/radarr-films.json:ro"
|
"${hmConfig.sops.templates.prowlarr-radarr.path}:/etc/prowlarr/apps/radarr.json:ro"
|
||||||
"${hmConfig.sops.templates.prowlarr-radarr-anime-films.path}:/etc/prowlarr/apps/radarr-anime-films.json:ro"
|
"${hmConfig.sops.templates.prowlarr-radarr-uhd.path}:/etc/prowlarr/apps/radarr-uhd.json:ro"
|
||||||
"${hmConfig.sops.templates.prowlarr-sonarr-shows.path}:/etc/prowlarr/apps/sonarr-shows.json:ro"
|
"${hmConfig.sops.templates.prowlarr-radarr-anime.path}:/etc/prowlarr/apps/radarr-anime.json:ro"
|
||||||
"${hmConfig.sops.templates.prowlarr-sonarr-anime-shows.path}:/etc/prowlarr/apps/sonarr-anime-shows.json:ro"
|
"${hmConfig.sops.templates.prowlarr-sonarr.path}:/etc/prowlarr/apps/sonarr.json:ro"
|
||||||
|
"${hmConfig.sops.templates.prowlarr-sonarr-uhd.path}:/etc/prowlarr/apps/sonarr-uhd.json:ro"
|
||||||
|
"${hmConfig.sops.templates.prowlarr-sonarr-anime.path}:/etc/prowlarr/apps/sonarr-anime.json:ro"
|
||||||
"${volumes.prowlarr.ref}:/var/lib/prowlarr"
|
"${volumes.prowlarr.ref}:/var/lib/prowlarr"
|
||||||
];
|
];
|
||||||
environments.PROWLARR_URL_BASE = "/manage/indexers";
|
environments.PROWLARR_URL_BASE = "/manage/indexers";
|
||||||
@@ -317,10 +379,12 @@ in
|
|||||||
"sops-nix.service"
|
"sops-nix.service"
|
||||||
"${containers.transmission._serviceName}.service"
|
"${containers.transmission._serviceName}.service"
|
||||||
"${containers.flaresolverr._serviceName}.service"
|
"${containers.flaresolverr._serviceName}.service"
|
||||||
"${containers.radarr-films._serviceName}.service"
|
"${containers.radarr._serviceName}.service"
|
||||||
"${containers.radarr-anime-films._serviceName}.service"
|
"${containers.radarr-uhd._serviceName}.service"
|
||||||
"${containers.sonarr-shows._serviceName}.service"
|
"${containers.radarr-anime._serviceName}.service"
|
||||||
"${containers.sonarr-anime-shows._serviceName}.service"
|
"${containers.sonarr._serviceName}.service"
|
||||||
|
"${containers.sonarr-uhd._serviceName}.service"
|
||||||
|
"${containers.sonarr-anime._serviceName}.service"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -329,7 +393,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
radarr-films = {
|
radarr = {
|
||||||
containerConfig = {
|
containerConfig = {
|
||||||
image = "docker-archive:${selfPkgs.docker-radarr}";
|
image = "docker-archive:${selfPkgs.docker-radarr}";
|
||||||
networks = [
|
networks = [
|
||||||
@@ -347,21 +411,21 @@ in
|
|||||||
in
|
in
|
||||||
[
|
[
|
||||||
"${setup}:/etc/radarr/setup.sh:ro"
|
"${setup}:/etc/radarr/setup.sh:ro"
|
||||||
"${volumes.radarr-films.ref}:/var/lib/radarr"
|
"${volumes.radarr.ref}:/var/lib/radarr"
|
||||||
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
|
"/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"
|
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
|
||||||
];
|
];
|
||||||
environments = {
|
environments = {
|
||||||
RADARR_INSTANCE_NAME = "Radarr (Films)";
|
RADARR_INSTANCE_NAME = "Radarr";
|
||||||
RADARR_URL_BASE = "/manage/films";
|
RADARR_URL_BASE = "/manage/films";
|
||||||
RADARR_ROOT_FOLDER = "/var/lib/media/films";
|
RADARR_ROOT_FOLDER = "/var/lib/media/films";
|
||||||
RADARR_DOWNLOAD_CATEGORY = "radarr-films";
|
RADARR_DOWNLOAD_CATEGORY = "radarr";
|
||||||
};
|
};
|
||||||
environmentFiles = [ hmConfig.sops.templates.radarr-films-env.path ];
|
environmentFiles = [ hmConfig.sops.templates.radarr-env.path ];
|
||||||
labels = [
|
labels = [
|
||||||
"traefik.enable=true"
|
"traefik.enable=true"
|
||||||
"traefik.http.routers.radarr-films.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/films`)"
|
"traefik.http.routers.radarr.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/films`)"
|
||||||
"traefik.http.routers.radarr-films.middlewares=authelia@docker"
|
"traefik.http.routers.radarr.middlewares=authelia@docker"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -378,7 +442,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
radarr-anime-films = {
|
radarr-uhd = {
|
||||||
containerConfig = {
|
containerConfig = {
|
||||||
image = "docker-archive:${selfPkgs.docker-radarr}";
|
image = "docker-archive:${selfPkgs.docker-radarr}";
|
||||||
networks = [
|
networks = [
|
||||||
@@ -396,21 +460,21 @@ in
|
|||||||
in
|
in
|
||||||
[
|
[
|
||||||
"${setup}:/etc/radarr/setup.sh:ro"
|
"${setup}:/etc/radarr/setup.sh:ro"
|
||||||
"${volumes.radarr-anime-films.ref}:/var/lib/radarr"
|
"${volumes.radarr-uhd.ref}:/var/lib/radarr"
|
||||||
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
|
"/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"
|
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
|
||||||
];
|
];
|
||||||
environments = {
|
environments = {
|
||||||
RADARR_INSTANCE_NAME = "Radarr (Anime Films)";
|
RADARR_INSTANCE_NAME = "Radarr (UHD)";
|
||||||
RADARR_URL_BASE = "/manage/anime-films";
|
RADARR_URL_BASE = "/manage/films/uhd";
|
||||||
RADARR_ROOT_FOLDER = "/var/lib/media/anime-films";
|
RADARR_ROOT_FOLDER = "/var/lib/media/films";
|
||||||
RADARR_DOWNLOAD_CATEGORY = "radarr-anime-films";
|
RADARR_DOWNLOAD_CATEGORY = "radarr-uhd";
|
||||||
};
|
};
|
||||||
environmentFiles = [ hmConfig.sops.templates.radarr-anime-films-env.path ];
|
environmentFiles = [ hmConfig.sops.templates.radarr-uhd-env.path ];
|
||||||
labels = [
|
labels = [
|
||||||
"traefik.enable=true"
|
"traefik.enable=true"
|
||||||
"traefik.http.routers.radarr-anime-films.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/anime-films`)"
|
"traefik.http.routers.radarr-uhd.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/films/uhd`)"
|
||||||
"traefik.http.routers.radarr-anime-films.middlewares=authelia@docker"
|
"traefik.http.routers.radarr-uhd.middlewares=authelia@docker"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -427,7 +491,56 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sonarr-shows = {
|
radarr-anime = {
|
||||||
|
containerConfig = {
|
||||||
|
image = "docker-archive:${selfPkgs.docker-radarr}";
|
||||||
|
networks = [
|
||||||
|
networks.media.ref
|
||||||
|
networks.transmission.ref
|
||||||
|
networks.traefik.ref
|
||||||
|
];
|
||||||
|
volumes =
|
||||||
|
let
|
||||||
|
setup = pkgs.writeTextFile {
|
||||||
|
name = "setup.sh";
|
||||||
|
executable = true;
|
||||||
|
text = builtins.readFile ./radarr/setup.sh;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"${setup}:/etc/radarr/setup.sh:ro"
|
||||||
|
"${volumes.radarr-anime.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_INSTANCE_NAME = "Radarr (Anime)";
|
||||||
|
RADARR_URL_BASE = "/manage/anime/films";
|
||||||
|
RADARR_ROOT_FOLDER = "/var/lib/media/anime/films";
|
||||||
|
RADARR_DOWNLOAD_CATEGORY = "radarr-anime";
|
||||||
|
};
|
||||||
|
environmentFiles = [ hmConfig.sops.templates.radarr-anime-env.path ];
|
||||||
|
labels = [
|
||||||
|
"traefik.enable=true"
|
||||||
|
"traefik.http.routers.radarr-anime.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/anime/films`)"
|
||||||
|
"traefik.http.routers.radarr-anime.middlewares=authelia@docker"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
unitConfig =
|
||||||
|
let
|
||||||
|
dependencies = [
|
||||||
|
"${containers.transmission._serviceName}.service"
|
||||||
|
"sops-nix.service"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
After = dependencies;
|
||||||
|
Requires = dependencies;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sonarr = {
|
||||||
containerConfig = {
|
containerConfig = {
|
||||||
image = "docker-archive:${selfPkgs.docker-sonarr}";
|
image = "docker-archive:${selfPkgs.docker-sonarr}";
|
||||||
networks = [
|
networks = [
|
||||||
@@ -445,21 +558,21 @@ in
|
|||||||
in
|
in
|
||||||
[
|
[
|
||||||
"${setup}:/etc/sonarr/setup.sh:ro"
|
"${setup}:/etc/sonarr/setup.sh:ro"
|
||||||
"${volumes.sonarr-shows.ref}:/var/lib/sonarr"
|
"${volumes.sonarr.ref}:/var/lib/sonarr"
|
||||||
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
|
"/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"
|
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
|
||||||
];
|
];
|
||||||
environments = {
|
environments = {
|
||||||
SONARR_INSTANCE_NAME = "Sonarr (Shows)";
|
SONARR_INSTANCE_NAME = "Sonarr";
|
||||||
SONARR_URL_BASE = "/manage/shows";
|
SONARR_URL_BASE = "/manage/shows";
|
||||||
SONARR_ROOT_FOLDER = "/var/lib/media/shows";
|
SONARR_ROOT_FOLDER = "/var/lib/media/shows";
|
||||||
SONARR_DOWNLOAD_CATEGORY = "sonarr-shows";
|
SONARR_DOWNLOAD_CATEGORY = "sonarr";
|
||||||
};
|
};
|
||||||
environmentFiles = [ hmConfig.sops.templates.sonarr-shows-env.path ];
|
environmentFiles = [ hmConfig.sops.templates.sonarr-env.path ];
|
||||||
labels = [
|
labels = [
|
||||||
"traefik.enable=true"
|
"traefik.enable=true"
|
||||||
"traefik.http.routers.sonarr-shows.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/shows`)"
|
"traefik.http.routers.sonarr.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/shows`)"
|
||||||
"traefik.http.routers.sonarr-shows.middlewares=authelia@docker"
|
"traefik.http.routers.sonarr.middlewares=authelia@docker"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -476,7 +589,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sonarr-anime-shows = {
|
sonarr-uhd = {
|
||||||
containerConfig = {
|
containerConfig = {
|
||||||
image = "docker-archive:${selfPkgs.docker-sonarr}";
|
image = "docker-archive:${selfPkgs.docker-sonarr}";
|
||||||
networks = [
|
networks = [
|
||||||
@@ -494,21 +607,70 @@ in
|
|||||||
in
|
in
|
||||||
[
|
[
|
||||||
"${setup}:/etc/sonarr/setup.sh:ro"
|
"${setup}:/etc/sonarr/setup.sh:ro"
|
||||||
"${volumes.sonarr-anime-shows.ref}:/var/lib/sonarr"
|
"${volumes.sonarr-uhd.ref}:/var/lib/sonarr"
|
||||||
"/mnt/storage/private/storm/containers/storage/volumes/transmission-data/_data:/var/lib/transmission"
|
"/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"
|
"/mnt/storage/private/storm/containers/storage/volumes/media/_data:/var/lib/media"
|
||||||
];
|
];
|
||||||
environments = {
|
environments = {
|
||||||
SONARR_INSTANCE_NAME = "Sonarr (Anime Shows)";
|
SONARR_INSTANCE_NAME = "Sonarr (UHD)";
|
||||||
SONARR_URL_BASE = "/manage/anime-shows";
|
SONARR_URL_BASE = "/manage/shows/uhd";
|
||||||
SONARR_ROOT_FOLDER = "/var/lib/media/anime-shows";
|
SONARR_ROOT_FOLDER = "/var/lib/media/shows";
|
||||||
SONARR_DOWNLOAD_CATEGORY = "sonarr-anime-shows";
|
SONARR_DOWNLOAD_CATEGORY = "sonarr-uhd";
|
||||||
};
|
};
|
||||||
environmentFiles = [ hmConfig.sops.templates.sonarr-anime-shows-env.path ];
|
environmentFiles = [ hmConfig.sops.templates.sonarr-uhd-env.path ];
|
||||||
labels = [
|
labels = [
|
||||||
"traefik.enable=true"
|
"traefik.enable=true"
|
||||||
"traefik.http.routers.sonarr-anime-shows.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/anime-shows`)"
|
"traefik.http.routers.sonarr-uhd.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/shows/uhd`)"
|
||||||
"traefik.http.routers.sonarr-anime-shows.middlewares=authelia@docker"
|
"traefik.http.routers.sonarr-uhd.middlewares=authelia@docker"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
unitConfig =
|
||||||
|
let
|
||||||
|
dependencies = [
|
||||||
|
"${containers.transmission._serviceName}.service"
|
||||||
|
"sops-nix.service"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
After = dependencies;
|
||||||
|
Requires = dependencies;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sonarr-anime = {
|
||||||
|
containerConfig = {
|
||||||
|
image = "docker-archive:${selfPkgs.docker-sonarr}";
|
||||||
|
networks = [
|
||||||
|
networks.media.ref
|
||||||
|
networks.transmission.ref
|
||||||
|
networks.traefik.ref
|
||||||
|
];
|
||||||
|
volumes =
|
||||||
|
let
|
||||||
|
setup = pkgs.writeTextFile {
|
||||||
|
name = "setup.sh";
|
||||||
|
executable = true;
|
||||||
|
text = builtins.readFile ./sonarr/setup.sh;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"${setup}:/etc/sonarr/setup.sh:ro"
|
||||||
|
"${volumes.sonarr-anime.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_INSTANCE_NAME = "Sonarr (Anime)";
|
||||||
|
SONARR_URL_BASE = "/manage/anime/shows";
|
||||||
|
SONARR_ROOT_FOLDER = "/var/lib/media/anime/shows";
|
||||||
|
SONARR_DOWNLOAD_CATEGORY = "sonarr-anime";
|
||||||
|
};
|
||||||
|
environmentFiles = [ hmConfig.sops.templates.sonarr-anime-env.path ];
|
||||||
|
labels = [
|
||||||
|
"traefik.enable=true"
|
||||||
|
"traefik.http.routers.sonarr-anime.rule=Host(`media.karaolidis.com`) && PathPrefix(`/manage/anime/shows`)"
|
||||||
|
"traefik.http.routers.sonarr-anime.middlewares=authelia@docker"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -121,7 +121,7 @@
|
|||||||
"LyricFetcherOrder": [],
|
"LyricFetcherOrder": [],
|
||||||
"PathInfos": [
|
"PathInfos": [
|
||||||
{
|
{
|
||||||
"Path": "/var/lib/media/anime-films"
|
"Path": "/var/lib/media/anime/films"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@@ -197,7 +197,7 @@
|
|||||||
"LyricFetcherOrder": [],
|
"LyricFetcherOrder": [],
|
||||||
"PathInfos": [
|
"PathInfos": [
|
||||||
{
|
{
|
||||||
"Path": "/var/lib/media/anime-shows"
|
"Path": "/var/lib/media/anime/shows"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user