1

Compare commits

..

26 Commits

Author SHA1 Message Date
6eae420d21 Remove obsolete nfs mounts 2025-07-08 17:42:11 +02:00
244e14af94 ServeNix: Remove obsolete services 2025-06-03 02:29:30 +02:00
1f8ff6f270 ServeNix: Update Immich 2025-05-24 16:40:15 +02:00
9555c20fc3 ServeNix: Disable NextCloud cronjob container 2025-05-24 16:40:15 +02:00
e82f958961 ThinkNix: Disable docker ipv6 2025-03-26 14:34:03 +01:00
7f41c82d5f ServeNix: Disable docker ipv6 2025-03-26 14:33:58 +01:00
f91dbcc046 Servenix: Update box service 2025-03-26 14:02:21 +01:00
70ead97dbc Servenix: Update docker ipv6 config 2025-03-10 17:20:16 +01:00
fb15b2c387 ThinkNix: Update docker ipv6 config 2025-03-10 16:57:39 +01:00
efcf7ed4a7 ServeNix: Update docker ipv6 config 2025-03-10 16:46:06 +01:00
a9219d324c ThinkNix: Update docker ipv6 config 2025-03-10 16:45:45 +01:00
fe73dc7da7 ThinkNix: Disable homepage 2025-03-10 16:40:19 +01:00
b51eac7c4b ThinkNix: Update ipv6 addr 2025-03-10 16:18:27 +01:00
537207da6d ServeNix: Update ipv6 addr 2025-03-10 16:18:21 +01:00
bc28bb8f26 ThinkNix: Enable IPv6 2025-03-10 14:46:59 +01:00
176b263803 ServeNix: Enable IPv6 2025-03-10 14:33:18 +01:00
e75c4cd83d ServeNix: Add formula11 service 2025-03-10 13:48:51 +01:00
7c6f0d5678 ServeNix: Disable old NFS mount 2025-03-10 13:48:45 +01:00
03f7dfc0a4 ThinkNix: Revert homepage privileges 2025-01-29 19:19:19 +01:00
43a3aefc59 ThinkNix: Make homepage run privileged (for docker socket access) 2025-01-29 19:18:31 +01:00
4ec1aca96b ThinkNix: Allow docker access via tcp socket 2025-01-29 19:18:20 +01:00
654a8ddb21 ThinkNix: Update kopia volumes 2025-01-29 19:18:10 +01:00
45f1ca6412 Move homepage ServeNix -> ThinkNix 2025-01-29 19:01:18 +01:00
175562d85e ServeNix: Disable NC cronjob container 2025-01-29 18:52:06 +01:00
833feda4f1 ThinkNix: Update wud image location 2025-01-29 17:58:14 +01:00
b1d1d71ed3 ServeNix: Update wud image location 2025-01-29 17:58:07 +01:00
25 changed files with 147 additions and 737 deletions

View File

@ -19,14 +19,16 @@
# ./services/airsignal.nix # ./services/airsignal.nix
./services/heidi.nix ./services/heidi.nix
./services/formula10.nix ./services/formula10.nix
./services/formula11.nix
# General # General
./services/authelia.nix ./services/authelia.nix
./services/gitea.nix ./services/gitea.nix
./services/gitea-runner.nix ./services/gitea-runner.nix
# ./services/homeassistant.nix # Replaced by HAOS # ./services/homeassistant.nix # Replaced by HAOS
./services/homepage.nix # ./services/homepage.nix
./services/immich.nix ./services/immich.nix
./services/jellyfin.nix
./services/kopia.nix ./services/kopia.nix
./services/nextcloud.nix ./services/nextcloud.nix
./services/nginx-proxy-manager.nix ./services/nginx-proxy-manager.nix
@ -35,25 +37,6 @@
# ./services/uptime-kuma.nix # ./services/uptime-kuma.nix
./services/whats-up-docker.nix ./services/whats-up-docker.nix
# ./services/wireguard-vps.nix # NOTE: Runs on ThinkNix # ./services/wireguard-vps.nix # NOTE: Runs on ThinkNix
# MultimediArr
# ./services/bazarr.nix
# ./services/fileflows.nix
./services/jellyfin.nix
# ./services/jellyseerr.nix
# ./services/jellystat.nix
# ./services/prowlarr.nix
# ./services/radarr.nix
# ./services/sonarr.nix
# ./services/sabnzbd.nix
# Box
# ./services/box-fileflows.nix
# ./services/box-hydra.nix
./services/box-metube.nix
# ./services/box-sabnzbd.nix
./services/box-stash.nix
./services/box-unmanic.nix
]; ];
# Bootloader. # Bootloader.
@ -97,16 +80,32 @@
# Enable networking # Enable networking
networkmanager.enable = true; networkmanager.enable = true;
enableIPv6 = true;
interfaces.ens18 = {
ipv4.addresses = [
{
address = "192.168.86.25";
prefixLength = 24;
}
];
ipv6.addresses = [
{
address = "fd00::19"; # 25 in hex
prefixLength = 120;
}
];
};
interfaces.ens18.ipv4.addresses = [{
address = "192.168.86.25";
prefixLength = 24;
}];
defaultGateway = "192.168.86.5"; defaultGateway = "192.168.86.5";
defaultGateway6 = "fd00::5";
nameservers = [ nameservers = [
# "127.0.0.1" # "127.0.0.1"
"192.168.86.26"
# "8.8.8.8" # "8.8.8.8"
"192.168.86.26"
"fd00::1a" # 26 in hex
]; ];
}; };
@ -128,6 +127,7 @@
# - Disabling this prevents containers from having internet connection. DNS issue? # - Disabling this prevents containers from having internet connection. DNS issue?
# ${dockercli} network create -o "com.docker.network.bridge.enable_ip_masquerade"="false" ${network} # ${dockercli} network create -o "com.docker.network.bridge.enable_ip_masquerade"="false" ${network}
# ${dockercli} network create --ipv6 --gateway="2000::1" --subnet="2000::/80" ${network}
${dockercli} network create ${network} ${dockercli} network create ${network}
else else
echo "${network} already exists in docker" echo "${network} already exists in docker"
@ -230,15 +230,25 @@
# setSocketVariable = true; # setSocketVariable = true;
# }; # };
daemon.settings = { daemon.settings = {
# ipv6 = true; # TODO: Resulted in slowdowns for some services?
# fixed-cidr-v6 = "2001::/80";
dns = [ dns = [
# TODO: Does this circumvent my DNS for each container? # TODO: Does this circumvent my DNS for each container?
# It might improve gitea actions though... # It might improve gitea actions though...
"8.8.8.8" "8.8.8.8"
# "2001:4860:4860::8888"
# TODO: Might prevent containers from having DNS? # TODO: Might prevent containers from having DNS?
# "127.0.0.1" # "127.0.0.1"
# "192.168.86.25" # "192.168.86.25"
]; ];
# Allow access via tcp socket (for homepage)
hosts = [
"tcp://0.0.0.0:2375"
"unix:///var/run/docker.sock"
];
}; };
}; };
oci-containers.backend = "docker"; oci-containers.backend = "docker";

View File

@ -47,37 +47,10 @@
fsType = "nfs"; fsType = "nfs";
}; };
"/media/TV-Usenet" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Usenet";
fsType = "nfs";
};
"/media/TV-Music" = { "/media/TV-Music" = {
device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Music"; device = "192.168.86.20:/mnt/SG Exos Mirror 18TB/Music";
fsType = "nfs"; fsType = "nfs";
}; };
# WD Blue Stripe Shares
"/media/Stash-Video" = {
device = "192.168.86.20:/mnt/WD Blue Stripe 2T/Video";
fsType = "nfs";
};
"/media/Stash-Picture" = {
device = "192.168.86.20:/mnt/WD Blue Stripe 2T/Picture";
fsType = "nfs";
};
"/media/Stash-Clips" = {
device = "192.168.86.20:/mnt/WD Blue Stripe 2T/Clips";
fsType = "nfs";
};
"/media/Stash-Usenet" = {
device = "192.168.86.20:/mnt/WD Blue Stripe 2T/Usenet";
fsType = "nfs";
};
}; };
swapDevices = []; swapDevices = [];

View File

@ -1,26 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.airsignal = {
image = "gitea.vps.chriphost.de/christoph/airsignal:latest";
autoStart = true;
dependsOn = [];
ports = [
"12776:12776"
"12776:12776/udp"
];
volumes = [];
environment = {};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,33 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.bazarr = {
image = "linuxserver/bazarr:latest";
autoStart = true;
dependsOn = [];
ports = [
# "6767:6767"
];
volumes = [
"bazarr_config:/config"
"/media/Show:/tv"
"/media/Movie:/movies"
];
environment = {
PUID = "3000";
PGID = "3000";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,43 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.box-fileflows = {
image = "revenz/fileflows:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "5000:5000"
];
volumes = [
"/media/Stash-Video:/media/Video"
"/media/Stash-Picture:/media/Picture"
"box-fileflows_temp:/temp"
"box-fileflows_logs:/app/Logs"
"box-fileflows_config:/app/Data"
"/var/run/docker.sock:/var/run/docker.sock:ro"
];
environment = {
TZ = "Europe/Berlin";
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
"--privileged" # Helps with CUDA issues
"--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -1,34 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.box-hydra = {
image = "linuxserver/nzbhydra2:latest";
autoStart = true;
dependsOn = [
# "pihole"
# "sabnzbd"
];
ports = [
# "5076:5076"
];
volumes = [
"box-hydra_config:/config"
];
environment = {
PUID = "1000";
PGID = "1000";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,36 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.box-metube = {
image = "ghcr.io/alexta69/metube";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "3366:8081"
];
volumes = [
"/media/Stash-Video:/downloads"
];
environment = {
UID = "3001";
GID = "3001";
# NVIDIA_VISIBLE_DEVICES = "all";
# NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
# "--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -1,35 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.box-sabnzbd = {
image = "linuxserver/sabnzbd:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "8080:8080"
];
volumes = [
"/media/Stash-Video:/downloads"
"box-sabnzbd_config:/config"
];
environment = {
PUID = "3001";
PGID = "3001";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,98 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.box-stash-cdp = {
image = "chromedp/headless-shell:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "9222:9222"
];
volumes = [];
environment = {};
extraOptions = [
# "--gpus=all"
# "--shm-size=2G"
"--net=behind-nginx"
];
};
virtualisation.oci-containers.containers.box-stash-flaresolverr = {
image = "ghcr.io/flaresolverr/flaresolverr:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "8191:8191"
];
volumes = [];
environment = {
LOG_LEVEL = "info";
};
extraOptions = [
# "--gpus=all"
# "--shm-size=2G"
"--net=behind-nginx"
];
};
virtualisation.oci-containers.containers.box-stash = {
image = "stashapp/stash:latest";
autoStart = true;
dependsOn = [
"box-stash-cdp"
"box-stash-flaresolverr"
# "pihole"
];
ports = [
# "9999:9999"
];
volumes = [
"/media/Stash-Picture:/data/picture"
"/media/Stash-Video:/data/video"
"/media/Stash-Clips:/data/clips"
"box-stash_config:/root/.stash"
"box-stash_metadata:/metadata"
"box-stash_generated:/generated"
"box-stash_blobs:/blobs"
"box-stash_cache:/cache"
];
environment = {
STASH_PORT = "9999";
STASH_CACHE = "/cache/";
STASH_GENERATED = "/generated/";
STASH_METADATA = "/metadata/";
STASH_STASH = "/data/";
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
"--privileged"
"--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -1,42 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.box-unmanic = {
image = "josh5/unmanic:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "8888:8888"
];
volumes = [
"/media/Stash-Video:/library/Video"
"/media/Stash-Clips:/library/Clips"
"box-unmanic_temp:/tmp/unmanic"
"box-unmanic_config:/config"
# "/var/run/docker.sock:/var/run/docker.sock:ro"
];
environment = {
TZ = "Europe/Berlin";
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
"--privileged" # Helps with CUDA issues
"--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -1,43 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.fileflows = {
image = "revenz/fileflows:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "5000:5000"
];
volumes = [
"/media/Movie:/media/Movie"
"/media/Show:/media/Show"
"fileflows_temp:/temp"
"fileflows_logs:/app/Logs"
"fileflows_config:/app/Data"
"/var/run/docker.sock:/var/run/docker.sock:ro"
];
environment = {
TZ = "Europe/Berlin";
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
"--privileged" # Helps with CUDA issues
"--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -0,0 +1,65 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.formula11_pocketbase = {
image = "gitea.vps.chriphost.de/christoph/pocketbase:0.25.0";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
"8090:8080"
];
volumes = [
"formula11_pb_data:/pb/pb_data"
];
environment = {};
extraOptions = [
# "--gpus=all"
"--net=behind-nginx"
];
};
virtualisation.oci-containers.containers.formula11 = {
image = "gitea.vps.chriphost.de/christoph/formula11:latest";
autoStart = true;
dependsOn = [
"formula11_pocketbase"
];
ports = [
# "8080:8090"
"5173:3000"
];
volumes = [];
environment = {
# PB_PROTOCOL="http";
# PB_HOST="formula11_pocketbase";
# PB_PORT="8000";
# PB_PROTOCOL="https";
# PB_URL="f11pb.vps.chriphost.de";
PUBLIC_PBURL="https://f11pb.vps.chriphost.de";
# Required by SvelteKit to prevent cross-site POST errors
ORIGIN="https://f11.vps.chriphost.de";
};
extraOptions = [
# "--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -5,7 +5,7 @@
... ...
}: { }: {
virtualisation.oci-containers.containers.immich-database = { virtualisation.oci-containers.containers.immich-database = {
image = "tensorchord/pgvecto-rs:pg15-v0.2.0"; image = "ghcr.io/immich-app/postgres:15-vectorchord0.3.0-pgvectors0.2.0";
autoStart = true; autoStart = true;
dependsOn = []; dependsOn = [];

View File

@ -1,29 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.jellyseerr = {
image = "fallenbagel/jellyseerr:latest";
autoStart = true;
dependsOn = [];
ports = [
"5055:5055"
];
volumes = [
"jellyseerr_config:/app/config"
];
environment = {
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,78 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.jellystat-db = {
image = "postgres:15.2";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "5432:5432"
];
volumes = [
"jellystat-db_data:/var/lib/postgresql/data"
];
environment = {
POSTGRES_DB = "jfstat";
POSTGRES_USER = "postgres";
POSTGRES_PASSWORD = "jellystat-db";
# PUID = "1000";
# PGID = "1000";
# TZ = "Europe/Berlin";
# NVIDIA_VISIBLE_DEVICES = "all";
# NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
# "--gpus=all"
"--net=behind-nginx"
];
};
virtualisation.oci-containers.containers.jellystat = {
image = "cyfershepard/jellystat";
autoStart = true;
dependsOn = [
# "pihole"
"jellystat-db"
];
ports = [
# "3000:3000"
];
volumes = [
"jellystat_data:/app/backend/backup-data"
];
environment = {
POSTGRES_USER = "postgres";
POSTGRES_PASSWORD = "jellystat-db";
POSTGRES_IP = "jellystat-db";
POSTGRES_PORT = "5432";
JWT_SECRET = "MyUnsecretJwtKey";
# PUID = "1000";
# PGID = "1000";
# TZ = "Europe/Berlin";
# NVIDIA_VISIBLE_DEVICES = "all";
# NVIDIA_DRIVER_CAPABILITIES = "all";
};
extraOptions = [
# "--gpus=all"
"--net=behind-nginx"
];
};
}

View File

@ -27,16 +27,6 @@
# "adguard_config:/data/adguard_config:ro" # ThinkNix # "adguard_config:/data/adguard_config:ro" # ThinkNix
# "adguard_work:/data/adguard_work:ro" # ThinkNix # "adguard_work:/data/adguard_work:ro" # ThinkNix
"authelia_config:/data/authelia_config:ro" "authelia_config:/data/authelia_config:ro"
# "bazarr_config:/data/bazarr_config:ro" # Disabled
# "box-fileflows_config:/data/box-fileflows_config:ro" # Replaced with Unmanic
# "box-hydra_config:/data/box-hydra_config:ro" # Disabled
# "box-sabnzbd_config:/data/box-sabnzbd_config:ro" # Disabled
"box-stash_blobs:/data/box-stash_blobs:ro"
"box-stash_config:/data/box-stash_config:ro"
"box-stash_generated:/data/box-stash_generated:ro"
"box-stash_metadata:/data/box-stash_metadata:ro"
"box-unmanic_config:/data/box-unmanic_config:ro"
# "fileflows_config:/data/fileflows_config:ro" # Replaced with Unmanic
"formula10_cache:/data/formula10_cache:ro" "formula10_cache:/data/formula10_cache:ro"
"formula10_data:/data/formula10_data:ro" "formula10_data:/data/formula10_data:ro"
"gitea-db_data:/data/gitea-db_data:ro" "gitea-db_data:/data/gitea-db_data:ro"
@ -45,15 +35,12 @@
"gitea_data:/data/gitea_data:ro" "gitea_data:/data/gitea_data:ro"
"heidi_config:/data/heidi_config:ro" "heidi_config:/data/heidi_config:ro"
# "homeassistant_config:/data/homeassistant_config:ro" # ThinkNix # "homeassistant_config:/data/homeassistant_config:ro" # ThinkNix
"homepage_config:/data/homepage_config:ro" # "homepage_config:/data/homepage_config:ro"
"immich-database_data:/data/immich-database_data:ro" "immich-database_data:/data/immich-database_data:ro"
"immich_config:/data/immich_config:ro" "immich_config:/data/immich_config:ro"
"immich_data:/data/immich_data:ro" "immich_data:/data/immich_data:ro"
"immich_machine-learning:/data/immich_machine-learning:ro" "immich_machine-learning:/data/immich_machine-learning:ro"
"jellyfin_config:/data/jellyfin_config:ro" "jellyfin_config:/data/jellyfin_config:ro"
# "jellyseerr_config:/data/jellyseerr_config:ro" # Disabled
# "jellystat-db_data:/data/jellystat-db_data:ro" # Disabled
# "jellystat_data:/data/jellystat_data:ro" # Disabled
"nextcloud-db_data:/data/nextcloud-db_data:ro" "nextcloud-db_data:/data/nextcloud-db_data:ro"
"nextcloud_data:/data/nextcloud_data:ro" "nextcloud_data:/data/nextcloud_data:ro"
"nginx_config:/data/nginx_config:ro" "nginx_config:/data/nginx_config:ro"
@ -62,10 +49,6 @@
"paperless-postgres_data:/data/paperless-postgres_data:ro" "paperless-postgres_data:/data/paperless-postgres_data:ro"
"paperless_data:/data/paperless_data:ro" "paperless_data:/data/paperless_data:ro"
# "portainer_config:/data/portainer_config:ro" # "portainer_config:/data/portainer_config:ro"
# "prowlarr_config:/data/prowlarr_config:ro" # Disabled
# "radarr_config:/data/radarr_config:ro" # Disabled
# "sabnzbd_config:/data/sabnzbd_config:ro" # Disabled
# "sonarr_config:/data/sonarr_config:ro" # Disabled
# "uptime-kuma_config:/data/uptime-kuma_config:ro" # Disabled # "uptime-kuma_config:/data/uptime-kuma_config:ro" # Disabled
# "wireguard_vps_config:/data/wireguard_vps_config:ro" # "wireguard_vps_config:/data/wireguard_vps_config:ro"
]; ];

View File

@ -102,28 +102,25 @@
]; ];
}; };
virtualisation.oci-containers.containers.nextcloud-cronjob = { systemd.services.nextcloud-cron = {
image = "rcdailey/nextcloud-cronjob"; enable = true;
autoStart = true; description = "Nextcloud Cron Job";
serviceConfig = {
ExecStart = "${pkgs.docker}/bin/docker exec -u www-data nextcloud /usr/local/bin/php -f /var/www/html/cron.php";
};
};
dependsOn = [ systemd.timers.nextcloud-cron = {
"nextcloud" enable = true;
]; description = "Nextcloud Cron Job";
ports = []; timerConfig = {
OnBootSec = "5min";
volumes = [ OnUnitActiveSec = "5min";
"/etc/localtime:/etc/localtime:ro" Unit = "nextcloud-cron.service";
"/var/run/docker.sock:/var/run/docker.sock:ro"
];
environment = {
NEXTCLOUD_CONTAINER_NAME = "nextcloud";
NEXTCLOUD_CRON_MINUTE_INTERVAL = "15";
}; };
extraOptions = [ wantedBy = ["timers.target"];
"--net=behind-nginx"
];
}; };
} }

View File

@ -1,33 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.prowlarr = {
image = "linuxserver/prowlarr:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "9696:9696"
];
volumes = [
"prowlarr_config:/config"
];
environment = {
PUID = "1000";
PGID = "1000";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,38 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.radarr = {
image = "linuxserver/radarr:latest";
autoStart = true;
dependsOn = [
# "pihole"
# "sabnzbd"
# "prowlarr"
];
ports = [
# "7878:7878"
];
volumes = [
"/media/TV-Usenet:/downloads"
"/media/Movie:/movies"
"radarr_config:/config"
];
environment = {
PUID = "3000";
PGID = "3000";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,35 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.sabnzbd = {
image = "linuxserver/sabnzbd:latest";
autoStart = true;
dependsOn = [
# "pihole"
];
ports = [
# "8080:8080"
];
volumes = [
"/media/TV-Usenet:/downloads"
"sabnzbd_config:/config"
];
environment = {
PUID = "3000";
PGID = "3000";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -1,38 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
virtualisation.oci-containers.containers.sonarr = {
image = "linuxserver/sonarr:latest";
autoStart = true;
dependsOn = [
# "pihole"
# "sabnzbd"
# "prowlarr"
];
ports = [
# "8989:8989"
];
volumes = [
"/media/TV-Usenet:/downloads"
"/media/Show:/tv"
"sonarr_config:/config"
];
environment = {
PUID = "3000";
PGID = "3000";
TZ = "Europe/Berlin";
};
extraOptions = [
"--net=behind-nginx"
];
};
}

View File

@ -5,7 +5,7 @@
... ...
}: { }: {
virtualisation.oci-containers.containers.whats-up-docker = { virtualisation.oci-containers.containers.whats-up-docker = {
image = "fmartinou/whats-up-docker:latest"; image = "getwud/wud:latest";
autoStart = true; autoStart = true;
dependsOn = [ dependsOn = [

View File

@ -17,6 +17,7 @@
# General # General
# ./services/kopia.nix # ./services/kopia.nix
# ./services/homepage.nix
./services/nginx-proxy-manager.nix ./services/nginx-proxy-manager.nix
./services/portainer.nix ./services/portainer.nix
./services/whats-up-docker.nix ./services/whats-up-docker.nix
@ -65,13 +66,29 @@
# Enable networking # Enable networking
networkmanager.enable = true; networkmanager.enable = true;
interfaces.ens18.ipv4.addresses = [{ interfaces.ens18 = {
address = "192.168.86.26"; ipv4.addresses = [
prefixLength = 24; {
}]; address = "192.168.86.26";
prefixLength = 24;
}
];
ipv6.addresses = [
{
address = "fd00::1a"; # 26 in hex
prefixLength = 120;
}
];
};
defaultGateway = "192.168.86.5"; defaultGateway = "192.168.86.5";
defaultGateway6 = "fd00::5";
nameservers = [ nameservers = [
"127.0.0.1" "127.0.0.1"
"::1"
# "192.168.86.25" # "192.168.86.25"
# "8.8.8.8" # "8.8.8.8"
]; ];
@ -95,6 +112,7 @@
# - Disabling this prevents containers from having internet connection. DNS issue? # - Disabling this prevents containers from having internet connection. DNS issue?
# ${dockercli} network create -o "com.docker.network.bridge.enable_ip_masquerade"="false" ${network} # ${dockercli} network create -o "com.docker.network.bridge.enable_ip_masquerade"="false" ${network}
# ${dockercli} network create --ipv6 --gateway="2000::1" --subnet="2000::/80" ${network}
${dockercli} network create ${network} ${dockercli} network create ${network}
else else
echo "${network} already exists in docker" echo "${network} already exists in docker"
@ -196,10 +214,14 @@
# setSocketVariable = true; # setSocketVariable = true;
# }; # };
daemon.settings = { daemon.settings = {
# ipv6 = true;
# fixed-cidr-v6 = "2001::/80";
dns = [ dns = [
# TODO: Does this circumvent my DNS for each container? # TODO: Does this circumvent my DNS for each container?
# It might improve gitea actions though... # It might improve gitea actions though...
"8.8.8.8" "8.8.8.8"
# "2001:4860:4860::8888"
# TODO: Might prevent containers from having DNS? # TODO: Might prevent containers from having DNS?
# "127.0.0.1" # "127.0.0.1"

View File

@ -26,6 +26,7 @@
extraOptions = [ extraOptions = [
"--net=behind-nginx" "--net=behind-nginx"
# "--privileged"
]; ];
}; };
} }

View File

@ -5,7 +5,7 @@
... ...
}: { }: {
virtualisation.oci-containers.containers.whats-up-docker = { virtualisation.oci-containers.containers.whats-up-docker = {
image = "fmartinou/whats-up-docker:latest"; image = "getwud/wud:latest";
autoStart = true; autoStart = true;
dependsOn = [ dependsOn = [