{ namespace, ... }: { ${namespace} = { services = { # Existing properly namespaced services immich.enable = true; jellyfin.enable = true; jellyseerr.enable = true; lubelogger.enable = true; nextcloud.enable = true; ai.enable = true; paperless.enable = true; traefik.enable = true; wyoming.enable = true; # Newly migrated services actual = { enable = true; port = 3333; localAddress = "10.0.3.18"; dataDir = "/media/nas/main/nix-app-data/actual"; reverseProxy = { enable = true; subdomain = "actual"; middlewares = [ "crowdsec" "whitelist-geoblock" ]; }; }; arrs = { enable = true; localAddress = "10.0.1.51"; downloadsDir = "/media/nas/main/ssd_app_data/downloads"; incompleteDownloadsDir = "/media/nas/main/ssd_app_data/downloads-incomplete"; moviesDir = "/media/nas/main/movies"; tvDir = "/media/nas/main/tv"; isosDir = "/media/nas/main/isos"; radarr = { enable = true; port = 7878; dataDir = "/media/nas/main/nix-app-data/radarr"; }; sonarr = { enable = true; port = 8989; dataDir = "/media/nas/main/nix-app-data/sonarr"; }; sabnzbd = { enable = true; port = 8280; dataDir = "/media/nas/main/nix-app-data/sabnzbd"; }; deluge = { enable = true; port = 8112; }; jackett = { enable = true; port = 9117; dataDir = "/media/nas/main/nix-app-data/jackett"; }; }; crowdsec = { enable = true; port = 9898; apiAddress = "10.0.1.3"; apiKey = "1daH89qmJ41r2Lpd9hvDw4sxtOAtBzaj3aKFOFqE"; dataDir = "/media/nas/main/nix-app-data/crowdsec"; }; gitea = { enable = true; httpPort = 3000; sshPort = 2222; localAddress = "10.0.4.18"; dataDir = "/media/nas/main/nix-app-data/gitea"; reverseProxy = { enable = true; host = "gitea.mjallen.dev"; middlewares = [ "crowdsec" "whitelist-geoblock" ]; }; }; free-games-claimer.enable = true; manyfold.enable = true; orca-slicer = { enable = true; httpPort = "3100"; httpsPort = "3101"; }; tdarr.enable = true; authentik = { enable = true; port = 9000; environmentFile = "/run/secrets/jallen-nas/authentik-env"; }; attic = { enable = true; port = 9012; listenAddress = "[::]"; environmentFile = "/run/secrets/jallen-nas/attic-key"; }; protonmail-bridge = { enable = true; smtpPort = 1025; imapPort = 1143; user = "admin"; }; netbootxyz = { enable = true; }; glances = { enable = true; port = 61208; bindAddress = "0.0.0.0"; }; code-server = { enable = true; port = 4444; user = "admin"; group = "jallen-nas"; host = "0.0.0.0"; auth = "none"; hashedPassword = "$y$j9T$EkPXmsmIMFFZ.WRrBYCxS1$P0kwo6e4.WM5DsqUcEqWC3MrZp5KfCjxffraMFZWu06"; extraEnvironment = { PROXY_DOMAIN = "code.mjallen.dev"; }; }; restic = { enable = true; port = 8008; dataDir = "/media/nas/main/backup/restic"; prometheus = true; listenAddress = "0.0.0.0"; htpasswdFile = "/media/nas/main/backup/restic/.htpasswd"; extraFlags = [ "--no-auth" ]; }; tabby-web = { enable = true; port = 8050; openFirewall = true; }; }; }; }