Deploy immich!
This commit is contained in:
parent
6a02df9e1f
commit
8ac3809475
|
@ -120,10 +120,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{ "Proxmox Sandbox" = {
|
{ "Proxmox Homelab" = {
|
||||||
icon = "proxmox.png";
|
icon = "proxmox.png";
|
||||||
href = "https://proxmox.scorpion-ghost.ts.net";
|
href = "https://proxmox.scorpion-ghost.ts.net";
|
||||||
description = "Sandbox proxmox instance on Hetzner";
|
description = "Homelabe proxmox";
|
||||||
widget = {
|
widget = {
|
||||||
type = "proxmox";
|
type = "proxmox";
|
||||||
url = "https://proxmox.scorpion-ghost.ts.net";
|
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
47
homelab/immich.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,5 +5,6 @@
|
||||||
(import ./tclip.nix)
|
(import ./tclip.nix)
|
||||||
(import ./vrchat-prometheus-exporter.nix)
|
(import ./vrchat-prometheus-exporter.nix)
|
||||||
(import ./overseerr.nix)
|
(import ./overseerr.nix)
|
||||||
|
(import ./immich.nix)
|
||||||
(import ./homepage.nix) ];
|
(import ./homepage.nix) ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,13 +111,16 @@
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"prometheus.gmem.ca" = {
|
"photos.gmem.ca" = {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
proxyPass = "https://pi.gmem.ca";
|
proxyPass = "https://pi.gmem.ca";
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
|
extraConfig = ''
|
||||||
|
client_max_body_size 50000M;
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue