diff --git a/systems/palatine-hill/docker/arr.nix b/systems/palatine-hill/docker/arr.nix index 46c3577..3fb12c7 100644 --- a/systems/palatine-hill/docker/arr.nix +++ b/systems/palatine-hill/docker/arr.nix @@ -1,13 +1,51 @@ { config, lib, - pkgs, ... }: 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 { + # 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"; @@ -16,11 +54,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" + "--add-host=host.docker.internal:host-gateway" + ]; autoStart = true; }; prowlarr = { @@ -30,7 +76,9 @@ in PUID = "600"; PGID = "100"; TZ = "America/New_York"; - }; + } + // arr_postgres_config "prowlarr"; + extraOptions = [ "--network=arrnet" ]; volumes = [ "${vars.primary_docker}/prowlarr:/config" ]; autoStart = true; }; @@ -41,11 +89,13 @@ 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" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; sonarr = { @@ -55,11 +105,13 @@ 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" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; lidarr = { @@ -69,11 +121,13 @@ 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" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; unpackerr = { @@ -86,36 +140,53 @@ in "${vars.primary_docker}/unpackerr:/config" "${vars.primary_plex_storage}:/data" ]; + extraOptions = [ "--network=arrnet" ]; autoStart = true; }; notifiarr = { image = "golift/notifiarr:latest"; + ports = [ "5454:5454" ]; 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" "${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"; 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 + 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; }; }; 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" ]; 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/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; }; 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 ]; }