From 7ae5099bc96f1d01aab927bb334dbadedd17aa4e Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Tue, 25 Jun 2024 23:21:17 +0700 Subject: [PATCH] servarr: added prowlarr indexer --- system/podman/servarr/default.nix | 1 + system/podman/servarr/prowlarr.nix | 68 ++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 system/podman/servarr/prowlarr.nix diff --git a/system/podman/servarr/default.nix b/system/podman/servarr/default.nix index 5ca75f3..16d61fc 100644 --- a/system/podman/servarr/default.nix +++ b/system/podman/servarr/default.nix @@ -4,5 +4,6 @@ # ./real-debrid-manager.nix ./qbittorrent.nix ./sonarr.nix + ./prowlarr.nix ]; } diff --git a/system/podman/servarr/prowlarr.nix b/system/podman/servarr/prowlarr.nix new file mode 100644 index 0000000..4ac5979 --- /dev/null +++ b/system/podman/servarr/prowlarr.nix @@ -0,0 +1,68 @@ +{ config, lib, ... }: +let + podman = config.profile.podman; + prowlarr = podman.servarr.prowlarr; + name = "prowlarr"; + name-flaresolverr = "${name}-flaresolverr"; + ip = "10.88.2.4"; + ip-flaresolverr = "10.88.2.5"; + image = "lscr.io/linuxserver/prowlarr:latest"; + image-flaresolverr = "ghcr.io/flaresolverr/flaresolverr:latest"; + root = "/nas/mediaserver/servarr"; + configVolume = "${root}/prowlarr"; + 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 && prowlarr.enable) { + services.caddy.virtualHosts.${domain}.extraConfig = '' + reverse_proxy ${ip}:9696 + ''; + + system.activationScripts."podman-${name}" = '' + mkdir -p ${configVolume} + chown ${uid}:${gid} ${configVolume} + ''; + + virtualisation.oci-containers.containers.${name-flaresolverr} = { + image = image-flaresolverr; + hostname = name-flaresolverr; + autoStart = true; + environment = { + TZ = "Asia/Jakarta"; + }; + extraOptions = [ + "--ip=${ip-flaresolverr}" + "--network=podman" + ]; + labels = { + "io.containers.autoupdate" = "registry"; + }; + }; + + virtualisation.oci-containers.containers.${name} = { + inherit image; + hostname = name; + autoStart = true; + environment = { + PUID = uid; + PGID = gid; + TZ = "Asia/Jakarta"; + }; + volumes = [ + "${configVolume}:/config" + ]; + extraOptions = [ + "--ip=${ip}" + "--network=podman" + ]; + labels = { + "io.containers.autoupdate" = "registry"; + }; + }; + }; +} +