From 6f6641b5a0bc9d62175cf729845b1ce0b0f85748 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Sun, 7 Dec 2025 22:41:01 -0500 Subject: [PATCH 1/8] notifiarr port --- systems/palatine-hill/docker/arr.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 46c3577..276b639 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -90,6 +90,7 @@ in }; notifiarr = { image = "golift/notifiarr:latest"; + ports = [ "5454:5454" ]; user = "600:100"; environment = { TZ = "America/New_York"; From 23582b8550230b6e0899712fac73c838d28b6204 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Mon, 8 Dec 2025 17:33:16 -0500 Subject: [PATCH 2/8] add arrnet --- systems/palatine-hill/docker/arr.nix | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 276b639..b762ac9 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -21,6 +21,7 @@ in "${vars.primary_docker}/bazarr:/config" "${vars.primary_plex_storage}/data:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; prowlarr = { @@ -31,6 +32,7 @@ in PGID = "100"; TZ = "America/New_York"; }; + extraOptions = [ "--network=arrnet" ]; volumes = [ "${vars.primary_docker}/prowlarr:/config" ]; autoStart = true; }; @@ -46,6 +48,7 @@ in "${vars.primary_docker}/radarr:/config" "${vars.primary_plex_storage}/data:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; sonarr = { @@ -60,6 +63,7 @@ in "${vars.primary_docker}/sonarr:/config" "${vars.primary_plex_storage}/data:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; lidarr = { @@ -74,6 +78,7 @@ in "${vars.primary_docker}/lidarr:/config" "${vars.primary_plex_storage}/data:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; unpackerr = { @@ -86,6 +91,7 @@ in "${vars.primary_docker}/unpackerr:/config" "${vars.primary_plex_storage}:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; notifiarr = { @@ -100,10 +106,11 @@ in "${vars.primary_docker}/notifiarr:/config" "${vars.primary_plex_storage}:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; - overseerr = { - image = "fallenbagel/jellyseerr:preview-seerr"; + jellyseerr = { + image = "fallenbagel/jellyseerr:latest"; environment = { PUID = "600"; PGID = "100"; @@ -111,12 +118,20 @@ in }; volumes = [ "${vars.primary_docker}/overseerr:/config" ]; # 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 dependsOn = [ "radarr" "sonarr" ]; - extraOptions = [ "--network=haproxy-net" ]; autoStart = true; }; }; From c982e13a608463ae864884796fc059f52356f402 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Mon, 8 Dec 2025 17:38:06 -0500 Subject: [PATCH 3/8] fix jelly --- systems/palatine-hill/docker/arr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index b762ac9..60c260d 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -121,7 +121,7 @@ in extraOptions = [ "--network=arrnet" "--network=haproxy-net" - "--health-cmd \"wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1\"" + "--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" From 0466ff66f3d2c7f06bad32a5182561cc75f5305c Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Mon, 8 Dec 2025 17:39:45 -0500 Subject: [PATCH 4/8] fix jelly --- systems/palatine-hill/docker/arr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 60c260d..8a526b1 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -121,7 +121,7 @@ in extraOptions = [ "--network=arrnet" "--network=haproxy-net" - "--health-cmd \"wget --no-verbose --tries\=1 --spider http://localhost:5055/api/v1/status || exit 1\"" + "--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" From fefb53424581791bf6fc8e3032b01994f3652a00 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Mon, 8 Dec 2025 17:42:15 -0500 Subject: [PATCH 5/8] fix jelly --- systems/palatine-hill/docker/arr.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 8a526b1..4ced2f6 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -121,11 +121,11 @@ in 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" + # "--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 dependsOn = [ From d1c46afe368d79559932027945e043f02f7f820a Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Sat, 13 Dec 2025 23:00:30 -0500 Subject: [PATCH 6/8] initial postgres arr migration --- systems/palatine-hill/docker/arr.nix | 40 +++++++++++++++++++++++----- systems/palatine-hill/zfs.nix | 2 +- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 4ced2f6..1bf400c 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -6,6 +6,17 @@ }: let 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 { virtualisation.oci-containers.containers = { @@ -16,12 +27,19 @@ in PUID = "600"; PGID = "100"; 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 = [ "${vars.primary_docker}/bazarr:/config" "${vars.primary_plex_storage}/data:/data" ]; - extraOptions = [ "--network=arrnet" ]; + extraOptions = [ + "--network=arrnet" + "--add-host=host.docker.internal:host-gateway" + ]; autoStart = true; }; prowlarr = { @@ -31,7 +49,8 @@ in PUID = "600"; PGID = "100"; TZ = "America/New_York"; - }; + } + // arr_postgres_config "prowlarr"; extraOptions = [ "--network=arrnet" ]; volumes = [ "${vars.primary_docker}/prowlarr:/config" ]; autoStart = true; @@ -43,7 +62,8 @@ in PUID = "600"; PGID = "100"; TZ = "America/New_York"; - }; + } + // arr_postgres_config "radarr"; volumes = [ "${vars.primary_docker}/radarr:/config" "${vars.primary_plex_storage}/data:/data" @@ -58,7 +78,8 @@ in PUID = "600"; PGID = "100"; TZ = "America/New_York"; - }; + } + // arr_postgres_config "sonarr"; volumes = [ "${vars.primary_docker}/sonarr:/config" "${vars.primary_plex_storage}/data:/data" @@ -73,7 +94,8 @@ in PUID = "600"; PGID = "100"; TZ = "America/New_York"; - }; + } + // arr_postgres_config "lidarr"; volumes = [ "${vars.primary_docker}/lidarr:/config" "${vars.primary_plex_storage}/data:/data" @@ -100,7 +122,8 @@ in user = "600:100"; environment = { TZ = "America/New_York"; - }; + } + // arr_postgres_config "notifiarr"; environmentFiles = [ config.sops.secrets."docker/notifiarr".path ]; volumes = [ "${vars.primary_docker}/notifiarr:/config" @@ -115,6 +138,11 @@ in PUID = "600"; PGID = "100"; 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" ]; # TODO: remove ports later since this is going through web diff --git a/systems/palatine-hill/zfs.nix b/systems/palatine-hill/zfs.nix index 8b1bb53..8d1ca4a 100644 --- a/systems/palatine-hill/zfs.nix +++ b/systems/palatine-hill/zfs.nix @@ -49,7 +49,7 @@ daily = 30; weekly = 0; monthly = 6; - yearly = 3; + yearly = 2; autosnap = true; autoprune = true; }; From 0353ab32599e4009e83510ec9e07963d0e13033e Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Sat, 13 Dec 2025 23:16:13 -0500 Subject: [PATCH 7/8] update arr notes --- systems/palatine-hill/docker/arr.nix | 29 +++++++++++++++++++++++++++- systems/palatine-hill/postgresql.nix | 1 - users/alice/non-server.nix | 3 +++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 1bf400c..3fb12c7 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -1,7 +1,6 @@ { config, lib, - pkgs, ... }: let @@ -19,6 +18,34 @@ let }; 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 = { bazarr = { image = "ghcr.io/linuxserver/bazarr:latest"; diff --git a/systems/palatine-hill/postgresql.nix b/systems/palatine-hill/postgresql.nix index aed5901..22d6d64 100644 --- a/systems/palatine-hill/postgresql.nix +++ b/systems/palatine-hill/postgresql.nix @@ -1,6 +1,5 @@ { config, - lib, pkgs, ... }: diff --git a/users/alice/non-server.nix b/users/alice/non-server.nix index e0ed056..417007e 100644 --- a/users/alice/non-server.nix +++ b/users/alice/non-server.nix @@ -108,5 +108,8 @@ # media tools #deepin.deepin-music + + # arch zed deps + nixd ]; } From 3732ecb53ef9ee7b16667fd15764b918b23dff21 Mon Sep 17 00:00:00 2001 From: ahuston-0 Date: Fri, 19 Dec 2025 08:57:27 -0500 Subject: [PATCH 8/8] fix nextcloud setup --- systems/palatine-hill/docker/nextcloud.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/palatine-hill/docker/nextcloud.nix b/systems/palatine-hill/docker/nextcloud.nix index d88567f..ea3fe70 100644 --- a/systems/palatine-hill/docker/nextcloud.nix +++ b/systems/palatine-hill/docker/nextcloud.nix @@ -8,13 +8,13 @@ let # nextcloud-image = import ./nextcloud-image { inherit pkgs; }; nextcloud-base = { # image comes from running docker compose build in nextcloud-docker/.examples/full/apache - image = "nextcloud-nextcloud"; + image = "docker.io/library/nextcloud-nextcloud"; # pull = "always"; # do NOT enable pull here, this image is generated based on a custom docker image hostname = "nextcloud"; volumes = [ "${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}/remoteip.conf:/etc/apache2/conf-enabled/remoteip.conf:ro" ];