diff --git a/hosts/arr/default.nix b/hosts/arr/default.nix index f6a3e5a..9e370a9 100644 --- a/hosts/arr/default.nix +++ b/hosts/arr/default.nix @@ -16,10 +16,42 @@ in proxmox.enable = true; download-pod = { - enable = true; - proxy.enable = true; + enable = false; + proxy.enable = false; }; + services.podmanPods = { + mywebapp = { + name = "mywebapp"; + ports = [ "9090:80" "9443:443" ]; + containers = { + webserver = { + enable = true; + image = "nginx"; + volumes = [ "aaa:/config" "bbb:/data" ]; + }; + appserver = { + image = "my-custom-app:latest"; + }; + }; + }; + + database = { + name = "database"; + ports = [ + "3333:4444" + "5432:5432" + ]; + containers = { + postgres = { + image = "postgres:13"; + }; + }; + }; + }; + + + # Extra packages # environment.systemPackages = with pkgs; [ ]; diff --git a/modules/services/download-pod.nix b/modules/services/download-pod.nix index d255455..805825b 100644 --- a/modules/services/download-pod.nix +++ b/modules/services/download-pod.nix @@ -48,21 +48,33 @@ in }; serviceConfig = { Type = "oneshot"; - # - 9117: Jackett # - 7878: Radarr # - 8080: Sabnzbd # - 8989: Sonarr - ExecStart = "-${pkgs.podman}/bin/podman pod create -p 9117:9117 -p 7878:7878 -p 8080:8080 -p 8989:8989 download"; + # - 9117: Jackett + # - 9696: Prowlarr + ExecStart = "-${pkgs.podman}/bin/podman pod create -p 9117:9117 -p 7878:7878 -p 8080:8080 -p 8989:8989 -p 9696:9696 download"; }; path = [ pkgs.podman ]; }; virtualisation.oci-containers.containers = { + + my-pod = { + image = "k8s.gcr.io/pause:3.9"; + extraOptions = [ + "--pod=new:my-pod" + "--publish=8081:80" # Expose port 80 in the pod as 8080 on the host + "--publish=8082:82" # Expose port 82 in the pod as 8082 on the host + "--publish=83:9117" # Expose port 9117 in the pod as 83 on the host + ]; + }; + jackett = { image = "linuxserver/jackett"; autoStart = true; extraOptions = [ - "--pod=download" + "--pod=my-pod" ]; volumes = [ "jackett_config:/config" "jackett_data:/data" ]; }; @@ -94,6 +106,15 @@ in volumes = [ "sonarr_config:/config" "sonarr_data:/data" ]; }; + prowlarr = { + image = "linuxserver/prowlarr"; + autoStart = true; + extraOptions = [ + "--pod=download" + ]; + volumes = [ "prowlarr_config:/config" ]; + }; + }; services.caddy = lib.mkIf cfg.proxy.enable {