Immich is a self-hosted photo and video backup solution.
For immich, there are multiple helm deployments:
For redis and postgres, there are multiple helm charts:
immich-server from bjw-s/helm/ is more popular with 14 repositories.
Install with:
helm repo add app-template oci://ghcr.io/bjw-s-labs/helm/app-template
helm install immich-server app-template/app-template -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
immich-server | drag0n141/home-ops | 40 | 4.1.2 | 2 days ago |
immich-server | cbirkenbeul/homelab | 35 | 4.1.2 | 3 days ago |
immich-server | budimanjojo/home-cluster | 203 | 4.1.2 | 6 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
persistence.library.globalMounts[].path (5) /usr/src/app/upload | string |
string | |
persistence.library.path (3) /mnt/user/immich | string |
persistence.library.server (3) nas.${SECRET_DOMAIN} | string |
string | |
boolean | |
persistence.library.existingClaim (2) immich-nfs | string |
boolean | |
persistence.geocoding-dump.globalMounts[].path (2) /usr/src/app/.reverse-geocoding-dump | string |
string | |
boolean | |
persistence.transformers-cache.globalMounts[].path (2) /usr/src/app/.transformers_cache | string |
string | |
boolean | |
persistence.data.existingClaim (1) immich-data | string |
persistence.data.globalMounts[].path (1) /usr/src/app/upload | string |
number | |
string | |
number | |
number | |
boolean | |
defaultPodOptions.securityContext.supplementalGroups[] (1) - "1000" | number |
boolean | |
string | |
number | |
defaultPodOptions.topologySpreadConstraints[].topologyKey (1) kubernetes.io/hostname | string |
string | |
number | |
number | |
service.app.controller (2) immich-server | string |
service.main.controller (2) immich-server | string |
number | |
string | |
string | |
number | |
service.immich-server.type (1) LoadBalancer | string |
string | |
string | |
string | |
string | |
string | |
controllers.immich-server.containers.app.image.repository (2) ghcr.io/immich-app/immich-server | string |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
string | |
controllers.immich-server.containers.main.env.DB_URL.valueFrom.secretKeyRef.name (1) immich-database-pguser-immich | string |
string | |
string | |
controllers.immich-server.containers.main.image.repository (1) ghcr.io/immich-app/immich-server | string |
string | |
boolean | |
boolean | |
boolean | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
controllers.immich-server.initContainers.01-init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
string | |
controllers.immich-server.strategy (1) RollingUpdate | string |
controllers.immich-server.type (1) statefulset | string |
string | |
string | |
string | |
controllers.immich.containers.app.env.TZ (2) ${TIMEZONE} | string |
string | |
controllers.immich.containers.app.env.DB_URL.valueFrom.secretKeyRef.name (1) immich-pguser-immich | string |
string | |
string | |
controllers.immich.containers.app.image.repository (2) ghcr.io/immich-app/immich-server | string |
controllers.immich.containers.app.image.tag (2) v1.135.3@sha256:df5bbf4e29eff4688063a005708f8b96f13073200b4a7378f7661568459b31e9 | string |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
controllers.immich.strategy (2) RollingUpdate | string |
string | |
controllers.immich.initContainers.init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
controllers.immich.initContainers.init-db.image.tag (1) 17@sha256:e0c87ce7df39d06b93f27cf2cc6a056611f13faaa88cc07ab4dc8bf7a85d0b11 | string |
string | |
string | |
boolean | |
number | |
string | |
number | |
number | |
string | |
number | |
controllers.immich.pod.topologySpreadConstraints[].topologyKey (1) topology.kubernetes.io/zone | string |
string | |
number | |
string | |
string | |
string | |
string | |
controllers.main.containers.immich-server.image.repository (1) ghcr.io/immich-app/immich-server | string |
string | |
controllers.main.initContainers.01-init-db.envFrom[].secretRef.name (1) immich-dbinit-secret | string |
string | |
controllers.main.initContainers.01-init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
number | |
number | |
controllers.main.strategy (1) RollingUpdate | string |
ingress.app.className (2) external | string |
ingress.app.hosts[].host (2) photos.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
ingress.app.annotations."external-dns.alpha.kubernetes.io/target" (1) ipv4.${SECRET_DOMAIN} | string |
ingress.app.annotations."gethomepage.dev/description" (1) Photo management and backup | string |
string | |
string | |
ingress.app.annotations."gethomepage.dev/icon" (1) sh-immich.svg | string |
string | |
ingress.app.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) chunked_transfer_encoding off;
| string |
string | |
string | |
string | |
string | |
ingress.app.annotations."traefik.ingress.kubernetes.io/router.middlewares" (1) networking-traefik-middleware-chain-no-rate-limit@kubernetescrd | string |
ingress.app.tls[].hosts[] (1) - photos.${SECRET_DOMAIN} | string |
ingress.app.tls[].secretName (1) ${SECRET_DOMAIN/./-}-production-tls | string |
ingress.immich-server.annotations."external-dns.alpha.kubernetes.io/target" (1) external.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
ingress.immich-server.hosts[].host (1) photos.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
ingress.immich-server.tls[].hosts[] (1) - photos.${SECRET_DOMAIN} | string |
route.app.hostnames[] (2) - {{ .Release.Name }}.kokoro.wtf | string |
route.app.parentRefs[].name (2) internal | string |
route.app.parentRefs[].namespace (2) kube-system | string |
string | |
route.app.rules[].backendRefs[].name (2) immich-server | string |
number | |
route.main.hostnames[] (1) - photos.${SECRET_DOMAIN_0} | string |
route.main.parentRefs[].name (1) external | string |
route.main.parentRefs[].namespace (1) networking-system | string |
number | |
route.main.rules[].backendRefs[].name (1) immich-server | string |
number | |
string | |
string | |
string | |
string | |
string | |
string |