Deploy immich!

This commit is contained in:
Gabriel Simmer 2023-12-09 22:42:14 +00:00
parent 6a02df9e1f
commit 8ac3809475
Signed by: arch
SSH key fingerprint: SHA256:m3OEcdtrnBpMX+2BDGh/byv3hrCekCLzDYMdvGEKPPQ
4 changed files with 65 additions and 3 deletions

View file

@ -120,10 +120,10 @@
};
};
}
{ "Proxmox Sandbox" = {
{ "Proxmox Homelab" = {
icon = "proxmox.png";
href = "https://proxmox.scorpion-ghost.ts.net";
description = "Sandbox proxmox instance on Hetzner";
description = "Homelabe proxmox";
widget = {
type = "proxmox";
url = "https://proxmox.scorpion-ghost.ts.net";
@ -132,6 +132,17 @@
};
};
}
{ "Immich" = {
icon = "immich.png";
href = "https://photos.gmem.ca";
description = "Image hosting";
widget = {
type = "immich";
url = "https://photos.gmem.ca";
key = "{{HOMEPAGE_VAR_IMMICH_KEY}}";
};
};
}
];
}
{

47
homelab/immich.nix Normal file
View file

@ -0,0 +1,47 @@
{ lib, config, kubenix, ... }: {
kubernetes.helm.releases.immich = {
chart = kubenix.lib.helm.fetch {
repo = "https://immich-app.github.io/immich-charts";
chart = "immich";
version = "0.2.0";
sha256 = "7G7xfJ+Ay4TQUBiOPYr9Zl/hDDhCpZQbuKDQWl3Hmrg=";
};
# arbitrary attrset passed as values to the helm release
values = {
image.tag = "v1.90.2";
machine-learning.enabled = false;
typesense.enabled = true;
typesense.persistence.tsdata.enabled = true;
immich.persistence.library.existingClaim = "immich";
redis.enabled = true;
env = {
PGSSLMODE = "no-verify";
DB_URL.valueFrom.secretKeyRef = {
name = "hippo-pguser-immich";
key = "uri";
};
};
server.ingress.main = {
enabled = true;
annotations = {
"cert-manager.io/issuer" = "le-issuer";
};
tls = [ { hosts = [ "photos.gmem.ca" ]; secretName = "gmem-ca-wildcard"; } ];
hosts = [
{
host = "photos.gmem.ca";
paths = [ { path = "/"; } ];
}
];
};
};
};
kubernetes.resources.persistentVolumeClaims.immich = {
metadata.name = "immich";
spec = {
accessModes = ["ReadWriteOnce"];
resources.requests.storage = "50Gi";
};
};
}

View file

@ -5,5 +5,6 @@
(import ./tclip.nix)
(import ./vrchat-prometheus-exporter.nix)
(import ./overseerr.nix)
(import ./immich.nix)
(import ./homepage.nix) ];
}

View file

@ -111,13 +111,16 @@
recommendedProxySettings = true;
};
};
"prometheus.gmem.ca" = {
"photos.gmem.ca" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyWebsockets = true;
proxyPass = "https://pi.gmem.ca";
recommendedProxySettings = true;
extraConfig = ''
client_max_body_size 50000M;
'';
};
};
};