From 91ae8b665f4c5a8fb43ebcbd60d8c97943b5449b Mon Sep 17 00:00:00 2001 From: Gabriel Simmer Date: Fri, 8 Dec 2023 23:41:04 +0000 Subject: [PATCH] Move overseerr to pi cluster --- homelab/overseerr.nix | 78 +++++++++++++++++++++++++++++++++++++++ nix/nas/configuration.nix | 17 --------- 2 files changed, 78 insertions(+), 17 deletions(-) create mode 100644 homelab/overseerr.nix diff --git a/homelab/overseerr.nix b/homelab/overseerr.nix new file mode 100644 index 0000000..3197a34 --- /dev/null +++ b/homelab/overseerr.nix @@ -0,0 +1,78 @@ +let + appName = "overseerr"; + appImage = "sctx/overseerr"; +in +{ + kubernetes.resources.services.overseerr = { + spec = { + selector.app = appName; + ports.http = { + port = 5055; + targetPort = 5055; + }; + }; + }; + kubernetes.resources.statefulSets.overseerr.spec = { + selector.matchLabels.app = appName; + serviceName = appName; + template = { + metadata.labels.app = appName; + spec = { + volumes = { + config.configMap.name = "overseerr"; + }; + containers = { + overseerr = { + image = appImage; + volumeMounts = [ + { name = "data"; mountPath = "/app/config"; } + ]; + ports.metrics.containerPort = 5055; + resources = { + requests = { + cpu = "50m"; + memory = "32Mi"; + }; + limits = { + cpu = "500m"; + memory = "256Mi"; + }; + }; + }; + }; + }; + }; + volumeClaimTemplates = [ + { metadata.name = "data"; + spec = { + storageClassName = "nfs-client"; + accessModes = [ "ReadWriteOnce" ]; + resources.requests.storage = "1Gi"; + }; + } + ]; + }; + kubernetes.resources.ingresses.overseerr = { + metadata = { + name = appName; + annotations = { + "cert-manager.io/issuer" = "le-issuer"; + }; + }; + spec = { + tls = [ { hosts = [ "request-media.gmem.ca" ]; secretName = "gmem-ca-wildcard"; } ]; + rules = [ + { + host = "request-media.gmem.ca"; + http.paths = [ + { path = "/"; pathType = "Prefix"; + backend.service = { + name = appName; + port.name = "http"; }; + } + ]; + } + ]; + }; + }; +} diff --git a/nix/nas/configuration.nix b/nix/nas/configuration.nix index fab1308..798bb40 100644 --- a/nix/nas/configuration.nix +++ b/nix/nas/configuration.nix @@ -313,23 +313,6 @@ proxyPass = "http://127.0.0.1:8973/"; }; }; - virtualHosts."request-media.gmem.ca" = { - enableACME = true; - addSSL = true; - acmeRoot = null; - locations."/" = { - extraConfig = - '' - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - client_max_body_size 100M; - ''; - proxyPass = "http://127.0.0.1:5055/"; - }; - }; virtualHosts."flood.gmem.ca" = { enableACME = true; addSSL = true;