Merge pull request 'feature/notifiarr-fixes' (#152) from feature/notifiarr-fixes into main
Reviewed-on: #152
This commit was merged in pull request #152.
This commit is contained in:
@@ -1,13 +1,51 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
vars = import ../vars.nix;
|
vars = import ../vars.nix;
|
||||||
|
arr_postgres_config =
|
||||||
|
container_type:
|
||||||
|
let
|
||||||
|
ctype = lib.strings.toUpper container_type;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"${ctype}__POSTGRES__HOST" = "host.docker.internal";
|
||||||
|
"${ctype}__POSTGRES__USER" = "SOPS_ONLY";
|
||||||
|
"${ctype}__POSTGRES__PASSWORD" = "SOPS_ONLY";
|
||||||
|
"${ctype}__POSTGRES__PORT" = toString config.services.postgresql.settings.port;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
# Notes:
|
||||||
|
# Jellyplex-watched - sync watch status between plex and jellyfin as long as users and library is the same
|
||||||
|
# Tdarr - for distributed transcoding?
|
||||||
|
#
|
||||||
|
# list of containers supporting postgres:
|
||||||
|
# bazarr:
|
||||||
|
# POSTGRES_ENABED: true
|
||||||
|
# POSTGRES_HOST:
|
||||||
|
# POSTGRES_PORT:
|
||||||
|
# POSTGRES_DATABASE: bazarr
|
||||||
|
# POSTGRES_USERNAME: arr
|
||||||
|
# POSTGRES_PASSWORD: sops
|
||||||
|
# prowlarr:
|
||||||
|
# see ctype
|
||||||
|
# radarr:
|
||||||
|
# see ctype
|
||||||
|
# sonarr:
|
||||||
|
# see ctype
|
||||||
|
# lidarr:
|
||||||
|
# see ctype
|
||||||
|
# jellyseerr:
|
||||||
|
# DB_TYPE: postgres
|
||||||
|
# DB_HOST:
|
||||||
|
# DB_PORT:
|
||||||
|
# DB_USER: arr
|
||||||
|
# DB_PASS: sops
|
||||||
|
# DB_NAME: jellyseerr
|
||||||
|
#
|
||||||
virtualisation.oci-containers.containers = {
|
virtualisation.oci-containers.containers = {
|
||||||
bazarr = {
|
bazarr = {
|
||||||
image = "ghcr.io/linuxserver/bazarr:latest";
|
image = "ghcr.io/linuxserver/bazarr:latest";
|
||||||
@@ -16,11 +54,19 @@ in
|
|||||||
PUID = "600";
|
PUID = "600";
|
||||||
PGID = "100";
|
PGID = "100";
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
|
POSTGRES_HOST = "host.docker.internal";
|
||||||
|
POSTGRES_USER = "SOPS_ONLY";
|
||||||
|
POSTGRES_PASSWORD = "SOPS_ONLY";
|
||||||
|
POSTGRES_PORT = toString config.services.postgresql.settings.port;
|
||||||
};
|
};
|
||||||
volumes = [
|
volumes = [
|
||||||
"${vars.primary_docker}/bazarr:/config"
|
"${vars.primary_docker}/bazarr:/config"
|
||||||
"${vars.primary_plex_storage}/data:/data"
|
"${vars.primary_plex_storage}/data:/data"
|
||||||
];
|
];
|
||||||
|
extraOptions = [
|
||||||
|
"--network=arrnet"
|
||||||
|
"--add-host=host.docker.internal:host-gateway"
|
||||||
|
];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
prowlarr = {
|
prowlarr = {
|
||||||
@@ -30,7 +76,9 @@ in
|
|||||||
PUID = "600";
|
PUID = "600";
|
||||||
PGID = "100";
|
PGID = "100";
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
};
|
}
|
||||||
|
// arr_postgres_config "prowlarr";
|
||||||
|
extraOptions = [ "--network=arrnet" ];
|
||||||
volumes = [ "${vars.primary_docker}/prowlarr:/config" ];
|
volumes = [ "${vars.primary_docker}/prowlarr:/config" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
@@ -41,11 +89,13 @@ in
|
|||||||
PUID = "600";
|
PUID = "600";
|
||||||
PGID = "100";
|
PGID = "100";
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
};
|
}
|
||||||
|
// arr_postgres_config "radarr";
|
||||||
volumes = [
|
volumes = [
|
||||||
"${vars.primary_docker}/radarr:/config"
|
"${vars.primary_docker}/radarr:/config"
|
||||||
"${vars.primary_plex_storage}/data:/data"
|
"${vars.primary_plex_storage}/data:/data"
|
||||||
];
|
];
|
||||||
|
extraOptions = [ "--network=arrnet" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
sonarr = {
|
sonarr = {
|
||||||
@@ -55,11 +105,13 @@ in
|
|||||||
PUID = "600";
|
PUID = "600";
|
||||||
PGID = "100";
|
PGID = "100";
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
};
|
}
|
||||||
|
// arr_postgres_config "sonarr";
|
||||||
volumes = [
|
volumes = [
|
||||||
"${vars.primary_docker}/sonarr:/config"
|
"${vars.primary_docker}/sonarr:/config"
|
||||||
"${vars.primary_plex_storage}/data:/data"
|
"${vars.primary_plex_storage}/data:/data"
|
||||||
];
|
];
|
||||||
|
extraOptions = [ "--network=arrnet" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
lidarr = {
|
lidarr = {
|
||||||
@@ -69,11 +121,13 @@ in
|
|||||||
PUID = "600";
|
PUID = "600";
|
||||||
PGID = "100";
|
PGID = "100";
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
};
|
}
|
||||||
|
// arr_postgres_config "lidarr";
|
||||||
volumes = [
|
volumes = [
|
||||||
"${vars.primary_docker}/lidarr:/config"
|
"${vars.primary_docker}/lidarr:/config"
|
||||||
"${vars.primary_plex_storage}/data:/data"
|
"${vars.primary_plex_storage}/data:/data"
|
||||||
];
|
];
|
||||||
|
extraOptions = [ "--network=arrnet" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
unpackerr = {
|
unpackerr = {
|
||||||
@@ -86,36 +140,53 @@ in
|
|||||||
"${vars.primary_docker}/unpackerr:/config"
|
"${vars.primary_docker}/unpackerr:/config"
|
||||||
"${vars.primary_plex_storage}:/data"
|
"${vars.primary_plex_storage}:/data"
|
||||||
];
|
];
|
||||||
|
extraOptions = [ "--network=arrnet" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
notifiarr = {
|
notifiarr = {
|
||||||
image = "golift/notifiarr:latest";
|
image = "golift/notifiarr:latest";
|
||||||
|
ports = [ "5454:5454" ];
|
||||||
user = "600:100";
|
user = "600:100";
|
||||||
environment = {
|
environment = {
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
};
|
}
|
||||||
|
// arr_postgres_config "notifiarr";
|
||||||
environmentFiles = [ config.sops.secrets."docker/notifiarr".path ];
|
environmentFiles = [ config.sops.secrets."docker/notifiarr".path ];
|
||||||
volumes = [
|
volumes = [
|
||||||
"${vars.primary_docker}/notifiarr:/config"
|
"${vars.primary_docker}/notifiarr:/config"
|
||||||
"${vars.primary_plex_storage}:/data"
|
"${vars.primary_plex_storage}:/data"
|
||||||
];
|
];
|
||||||
|
extraOptions = [ "--network=arrnet" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
overseerr = {
|
jellyseerr = {
|
||||||
image = "fallenbagel/jellyseerr:preview-seerr";
|
image = "fallenbagel/jellyseerr:latest";
|
||||||
environment = {
|
environment = {
|
||||||
PUID = "600";
|
PUID = "600";
|
||||||
PGID = "100";
|
PGID = "100";
|
||||||
TZ = "America/New_York";
|
TZ = "America/New_York";
|
||||||
|
DB_TYPE = "postgres";
|
||||||
|
DB_HOST = "host.docker.internal";
|
||||||
|
DB_PORT = toString config.services.postgresql.settings.port;
|
||||||
|
DB_USER = "SOPS_ONLY";
|
||||||
|
DB_PASS = "SOPS_ONLY";
|
||||||
};
|
};
|
||||||
volumes = [ "${vars.primary_docker}/overseerr:/config" ];
|
volumes = [ "${vars.primary_docker}/overseerr:/config" ];
|
||||||
# TODO: remove ports later since this is going through web
|
# TODO: remove ports later since this is going through web
|
||||||
|
extraOptions = [
|
||||||
|
"--network=arrnet"
|
||||||
|
"--network=haproxy-net"
|
||||||
|
# "--health-cmd \"wget --no-verbose --tries 1 --spider http://localhost:5055/api/v1/status || exit 1\""
|
||||||
|
# "--health-start-period 20s"
|
||||||
|
# "--health-timeout 3s"
|
||||||
|
# "--health-interval 15s"
|
||||||
|
# "--health-retries 3"
|
||||||
|
];
|
||||||
ports = [ "5055:5055" ]; # Web UI port
|
ports = [ "5055:5055" ]; # Web UI port
|
||||||
dependsOn = [
|
dependsOn = [
|
||||||
"radarr"
|
"radarr"
|
||||||
"sonarr"
|
"sonarr"
|
||||||
];
|
];
|
||||||
extraOptions = [ "--network=haproxy-net" ];
|
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ let
|
|||||||
# nextcloud-image = import ./nextcloud-image { inherit pkgs; };
|
# nextcloud-image = import ./nextcloud-image { inherit pkgs; };
|
||||||
nextcloud-base = {
|
nextcloud-base = {
|
||||||
# image comes from running docker compose build in nextcloud-docker/.examples/full/apache
|
# image comes from running docker compose build in nextcloud-docker/.examples/full/apache
|
||||||
image = "nextcloud-nextcloud";
|
image = "docker.io/library/nextcloud-nextcloud";
|
||||||
# pull = "always";
|
# pull = "always";
|
||||||
# do NOT enable pull here, this image is generated based on a custom docker image
|
# do NOT enable pull here, this image is generated based on a custom docker image
|
||||||
hostname = "nextcloud";
|
hostname = "nextcloud";
|
||||||
volumes = [
|
volumes = [
|
||||||
"${nextcloud_path}/nc_data:/var/www/html:z"
|
"${nextcloud_path}/nc_data:/var/www/html:z"
|
||||||
"${nextcloud_path}/nc_php:/usr/local/etc/php"
|
#"${nextcloud_path}/nc_php:/usr/local/etc/php"
|
||||||
"${nextcloud_path}/nc_prehooks:/docker-entrypoint-hooks.d/before-starting"
|
"${nextcloud_path}/nc_prehooks:/docker-entrypoint-hooks.d/before-starting"
|
||||||
#"${nextcloud_path}/remoteip.conf:/etc/apache2/conf-enabled/remoteip.conf:ro"
|
#"${nextcloud_path}/remoteip.conf:/etc/apache2/conf-enabled/remoteip.conf:ro"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
daily = 30;
|
daily = 30;
|
||||||
weekly = 0;
|
weekly = 0;
|
||||||
monthly = 6;
|
monthly = 6;
|
||||||
yearly = 3;
|
yearly = 2;
|
||||||
autosnap = true;
|
autosnap = true;
|
||||||
autoprune = true;
|
autoprune = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -108,5 +108,8 @@
|
|||||||
|
|
||||||
# media tools
|
# media tools
|
||||||
#deepin.deepin-music
|
#deepin.deepin-music
|
||||||
|
|
||||||
|
# arch zed deps
|
||||||
|
nixd
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user