nixos-config/modules/arrstack/default.nix
2025-11-10 14:18:35 +01:00

82 lines
2.1 KiB
Nix

{ config, ... }:
let
cfg = import /etc/nixos/modules/vars.nix;
autobrr_port = cfg.arrstack.autobrr.port;
bazarr_port = cfg.arrstack.bazarr.port;
jellyseerr_port = cfg.arrstack.jellyseerr.port;
lidarr_port = cfg.arrstack.lidarr.port;
prowlarr_port = cfg.arrstack.prowlarr.port;
radarr_port = cfg.arrstack.radarr.port;
sonarr_port = cfg.arrstack.sonarr.port;
tdarr_webport = cfg.arrstack.tdarr.webport;
tdarr_serverport = cfg.arrstack.tdarr.serverport;
whisparr_port = cfg.arrstack.whisparr.port;
sabnzbd_port = cfg.arrstack.sabnzbd.port;
outpost_port = cfg.authentik.outpostPort;
domain = "mc-fucker.cool";
in
{
users = {
groups.arr.gid = 1337;
users = {
mc-fucker.extraGroups = [ "arr" ];
arr = {
isSystemUser = true;
group = "arr";
uid = 1337;
};
};
};
networking.firewall.interfaces.podman0.allowedTCPPorts = [ 12421 28917 ];
networking.firewall.interfaces.podman0.allowedUDPPorts = [ 53 ];
#container config
#virtualisation.oci-containers.containers.tdarr = {
# image = "ghcr.io/haveagitgat/tdarr";
# environment = {
# TZ = "Europe/Berlin";
# PUID = toString config.users.users.arr.uid;
# PGID = toString config.users.groups.arr.gid;
# serverIP = "0.0.0.0";
# webUIPort = tdarr_webport;
# serverPort = tdarr_serverport;
# internalNode = "true";
# inContainer = "true";
# };
# ports = [
# "${tdarr_webport}:${tdarr_webport}"
# "${tdarr_serverport}:${tdarr_serverport}"
# ];
# volumes = [
# "/var/lib/tdarr/server:/app/server"
# "/var/lib/tdarr/configs:/app/configs"
# "/var/lib/tdarr/logs:/app/logs"
# "/mnt/mergerfs/media:/data"
# ];
# extraOptions = cfg.podman.extraOptions ++ [ "--device=/dev/dri:/dev/dri" ];
#};
#webserver config
imports = [
/etc/nixos/modules/nginx.nix
./autobrr.nix
./bazarr.nix
./calibre.nix
./crossseed.nix
./jellyseerr.nix
./lidarr.nix
./mediathekarr.nix
./prowlarr.nix
./qbittorrent.nix
./radarr.nix
./recyclarr.nix
./sabnzbd.nix
./sonarr.nix
./whisparr.nix
];
}
# vim: set et ts=2 sw=2 ai: