From 07feb5d83dce37040eeafe2a015bf3a1d90a67d0 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Wed, 26 Jun 2024 00:58:13 +0700 Subject: [PATCH] servarr: added radarr --- options/podman.nix | 2 +- system/podman/servarr/default.nix | 1 + system/podman/servarr/radarr.nix | 50 +++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 system/podman/servarr/radarr.nix diff --git a/options/podman.nix b/options/podman.nix index eace678..bcebecf 100644 --- a/options/podman.nix +++ b/options/podman.nix @@ -27,7 +27,7 @@ in type = types.bool; default = config.profile.podman.servarr.enable; }; - radar.enable = mkOption { + radarr.enable = mkOption { type = types.bool; default = config.profile.podman.servarr.enable; }; diff --git a/system/podman/servarr/default.nix b/system/podman/servarr/default.nix index e59ae84..4252a40 100644 --- a/system/podman/servarr/default.nix +++ b/system/podman/servarr/default.nix @@ -6,5 +6,6 @@ ./sonarr.nix ./prowlarr.nix ./bazarr.nix + ./radarr.nix ]; } diff --git a/system/podman/servarr/radarr.nix b/system/podman/servarr/radarr.nix new file mode 100644 index 0000000..c3a8a50 --- /dev/null +++ b/system/podman/servarr/radarr.nix @@ -0,0 +1,50 @@ +{ config, lib, ... }: +let + podman = config.profile.podman; + name = "radarr"; + radarr = podman.servarr.${name}; + ip = "10.88.2.7"; + image = "lscr.io/linuxserver/${name}:latest"; + root = "/nas/mediaserver/servarr"; + configVolume = "${root}/${name}"; + mediaVolume = "${root}/data"; + domain = "${name}.tigor.web.id"; + user = config.profile.user; + uid = toString user.uid; + gid = toString user.gid; + inherit (lib) mkIf; +in +{ + config = mkIf (podman.enable && radarr.enable) { + services.caddy.virtualHosts.${domain}.extraConfig = '' + reverse_proxy ${ip}:7878 + ''; + + system.activationScripts."podman-${name}" = '' + mkdir -p ${configVolume} ${mediaVolume} + chown ${uid}:${gid} ${mediaVolume} ${configVolume} + ''; + + virtualisation.oci-containers.containers.${name} = { + inherit image; + hostname = name; + autoStart = true; + environment = { + PUID = uid; + PGID = gid; + TZ = "Asia/Jakarta"; + }; + volumes = [ + "${configVolume}:/config" + "${mediaVolume}:/data" + ]; + extraOptions = [ + "--ip=${ip}" + "--network=podman" + ]; + labels = { + "io.containers.autoupdate" = "registry"; + }; + }; + }; +}