Compare commits
9 Commits
update_fla
...
feature/no
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e9e626bee | |||
| aee53560e3 | |||
| 1619d577a7 | |||
| 4497cd8b41 | |||
| d37a9a5fa4 | |||
| 3fc20fa0b6 | |||
| fd1de4ce44 | |||
| aa705d4c8d | |||
| 49219b0265 |
@@ -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,60 @@ 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;
|
||||
};
|
||||
};
|
||||
|
||||
sops = {
|
||||
secrets = {
|
||||
"docker/notifiarr".owner = "docker-service";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -43,9 +43,9 @@ in
|
||||
hydra = {
|
||||
enable = true;
|
||||
package = inputs.hydra.packages.x86_64-linux.hydra.overrideAttrs (old: {
|
||||
checkPhase = ''
|
||||
preCheck = ''
|
||||
export YATH_JOB_COUNT=8
|
||||
${old.checkPhase or "yath test"}
|
||||
${old.preCheck or ""}
|
||||
'';
|
||||
});
|
||||
hydraURL = "https://hydra.alicehuston.xyz";
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
@@ -25,7 +25,7 @@ docker:
|
||||
collabora: ENC[AES256_GCM,data:LPRkzPEv5qfzeWSDbf+L+0asfmiK5Mhj8jCdfVyvVQAaD75Cbo4qLD0Nc80z,iv:/l2vAyYYJChhv6T+JkHT4I74ZpdhvbVqxlDWIM4Y4bw=,tag:/+uzn1vtd1RnO9/lGiQAKA==,type:str]
|
||||
delugevpn: ENC[AES256_GCM,data:YGkgaQUuA9oteKD77tnFzxZSHctyOQjMNlfvJr3mPWAl2P8wfcshiUoa6SNp69pagxbzRV6mfuzwzinbkQCoZN3lw7uF76y0,iv:Bro0H4tFR+3wi9DGGq9a6ge4o4uPlVXBUF7h17zyqg8=,tag:N1kVNFasqGMx8R9qTq2dJA==,type:str]
|
||||
protonvpn-start-script: ENC[AES256_GCM,data:ZnlDpCLdILHXSUCI6itWkqO4y75Lwjj7qT1DBkfueLneQOaQ0JhuE2FbOOajkmI046nP9fMrJbu3g4QZHsq1g8yqGU1wb0OOT+eS9+M92Md29B4NnUdwnVAO6/RzvRKXP2tsQ4iprx9An+BEFwZYD6WG6DQc6NjJVSgRcYvfH9rQey2VdwLysNsgFCs8eC6QgikqBpeg4eOIvDDNbdXPKkW+ZPph9xpzGkcFIMwlX5esg0n7qyUoMvWwBn4avC46U5erOw0fNajY60ri9sm5Afht6LZrFal71Hx/K9/5EXBp9dD4teLO2Ew0CQX0i94pKCuR207l9868s7Ao3udLp4wbiLnXoRKq+w==,iv:qR0kNYpb50NXEqSksvHBPAaRG51RKCsSwTq32nosxzo=,tag:+xRQyuWi4Ja/N9lcd11oJA==,type:str]
|
||||
notifiarr: ENC[AES256_GCM,data:8p7+58u1WSjBMjgxxkyDVp0CK26RMBAOFe7Ax5ugfs85+K97loSCAgTaDzplkHwZ0W1jc7rKUyEp6H22R+VwIUL5CvlYZ4XIZbcbrTfcuAqXcVExDNP/hQQs0Kg6,iv:kXKVrHPiBKvUvaeZvf1AG8M+Zu3SaSv5UacBqeHeBWA=,tag:jiZe/6oEZ8IPybZ3rDevEg==,type:str]
|
||||
notifiarr: ENC[AES256_GCM,data:XxVEhp4Rei6mRcdSSooRnofuVNZDalVhDYiVUmvQUr8QihrVRMKRE9Kpl5PGWUBw,iv:urMLaUf3XUjMks2vk0E7iRUU3mLHBiMAiwtQgmWQq20=,tag:dHdTOyC/ukd71UlYEI5fWw==,type:str]
|
||||
acme:
|
||||
bunny: ENC[AES256_GCM,data:P2yROVUga9mORcq8VR/l0i4/2Vod1zvlYq+ZJLLNKow0SpblkwQX/i1ucQYAOkTTRddN+3C+t0zj1rMWkdLoaLjEUJJi3VsSxi+chV2FFiVKFQGEcg24,iv:aQvGgGLsgRGoEmwTgZHR8Jm/MYxmGtVTT/fZKaTLeMs=,tag:m3ssF4O8qs4yxvMu6yUcjw==,type:str]
|
||||
dnsimple: ENC[AES256_GCM,data:37FKyBibFtXZgI4EduJQ0z8F+shBc5Q6YlLa3YkVPh9XuJVS20eybi75bfJxiozcZ9d+YRaqcbkBQCSdFOCotDU=,iv:oq3JjqbfAm2C4jcL1lvUb2EOmnwlR07vPoO8H0BmydQ=,tag:E3NO/jMElL6Q817666gIyg==,type:str]
|
||||
@@ -44,8 +44,8 @@ sops:
|
||||
cXNZWmZqd0R0SmhINExscHBKWmxvblUKEFEQvt/zQFARba4S8vHz/1SoKdKg69At
|
||||
LZ58XQGOmlGbBhPr7EzYQ2XSY4flWbnnD174cmCR8DNFm15DsNA5fw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-10-15T02:30:11Z"
|
||||
mac: ENC[AES256_GCM,data:uG3ZnIAepcCDFXZNhE18dqd0R3pL0a4JTxTaYx8fnaoT3ooN580yIA6tfjGj+6M3JyqPCM56dmqmnMsPplkr+WToW5Wgc8EBe+L2UdSpVK6Zk1ClxvG+NMmZK0u+dNOszJHpoRWTFLl5Wffku9hKEwcgYTA0nwVcrqPc3FSZQyA=,iv:hN2Wfr/IopxM1ItekB7YcXPjR5zBIwPvq1EzW1yjS34=,tag:ao059oZR+kT7IMBF4b2aAQ==,type:str]
|
||||
lastmodified: "2025-12-08T03:05:16Z"
|
||||
mac: ENC[AES256_GCM,data:gIw//fnDU/lE2rDP4890MjnQ2xp0I4fXwvSWrLC0kFjW1RMLzNCaRLlJzw5/khALH/IZgTrnRqTHF3zHZd+mlyqvC/vzkyBBVdWRRX6w5l9JhFDfe83r86tvsV9G/AOeRchDp1gGuBBNkRamSuCOj7QFc1l334e/jNdKDadhwgI=,iv:nrOQxvJBce5/NDvpowJX/AiIssQdNOStvjj/Lkutppk=,tag:MlRJxbG3laajsi5KHAxy5g==,type:str]
|
||||
pgp:
|
||||
- created_at: "2024-11-28T18:56:39Z"
|
||||
enc: |-
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
daily = 30;
|
||||
weekly = 0;
|
||||
monthly = 6;
|
||||
yearly = 3;
|
||||
yearly = 2;
|
||||
autosnap = true;
|
||||
autoprune = true;
|
||||
};
|
||||
|
||||
@@ -108,5 +108,8 @@
|
||||
|
||||
# media tools
|
||||
#deepin.deepin-music
|
||||
|
||||
# arch zed deps
|
||||
nixd
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user