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:
Install with:
helm repo add bjw-s oci://ghcr.io/bjw-s/helm/
helm install immich-server bjw-s/app-template -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|
See the most popular values for this chart:
| Key | Types |
|---|---|
persistence.library.globalMounts[].path (6) /usr/src/app/upload | string |
| string | |
persistence.library.existingClaim (4) immich-nfs | string |
persistence.library.path (4) /volume1/dev/photos | string |
persistence.library.server (4) ${LOCAL_LAN_NAS} | string |
| boolean | |
persistence.library.advancedMounts.main.main[].path (1) /usr/src/app/upload | string |
| string | |
| string | |
| string | |
persistence.library.advancedMounts.main.postgresql[].path (1) /var/lib/postgresql/data | string |
| string | |
persistence.library.mountPath (1) /usr/src/app/upload | string |
| string | |
persistence.config.accessMode (1) ReadWriteOnce | string |
| boolean | |
persistence.config.name (1) immich-configmap | string |
| string | |
persistence.config.storageClass (1) openebs-hostpath | string |
persistence.config.type (1) configMap | string |
persistence.data.accessMode (1) ReadWriteOnce | string |
persistence.data.globalMounts[].path (1) /usr/src/app/upload | string |
| boolean | |
| string | |
persistence.data.storageClass (1) openebs-hostpath | string |
| boolean | |
persistence.geocoding-dump.globalMounts[].path (1) /usr/src/app/.reverse-geocoding-dump | string |
| string | |
persistence.nas.existingClaim (1) nas-volume-media | string |
| string | |
| string | |
| string | |
| boolean | |
| string | |
persistence.photos.path (1) /hdd-nfs-repl | string |
persistence.photos.server (1) gasha01.haynesnetwork | string |
| string | |
| boolean | |
persistence.transformers-cache.globalMounts[].path (1) /usr/src/app/.transformers_cache | string |
| string | |
persistence.upload.advancedMounts.immich-server.app[].path (1) /usr/src/app/upload | string |
| boolean | |
persistence.upload.advancedMounts.immich-server.app[].subPath (1) data/photos/immich | string |
persistence.upload.path (1) /hdd-nfs-repl | string |
persistence.upload.server (1) gasha01.haynesnetwork | string |
| string | |
| string | |
| string | |
| string | |
controllers.immich-server.containers.app.image.repository (5) ghcr.io/immich-app/immich-server | string |
controllers.immich-server.containers.app.image.tag (5) v1.132.3@sha256:6680d88486251b0264a78a1934fe82eef875555aa6d84d703a0980328a5d5c31 | string |
| string | |
| string | |
| string | |
controllers.immich-server.containers.app.env.TZ (3) ${CLUSTER_TIMEZONE} | string |
| string | |
controllers.immich-server.containers.app.env.DB_HOSTNAME (1) immich-postgres16-rw.default.svc.cluster.local | string |
| number | |
controllers.immich-server.containers.app.env.IMMICH_MEDIA_LOCATION (1) /usr/src/app/upload | string |
| string | |
| number | |
| 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 | |
| boolean | |
| string | |
| boolean | |
controllers.immich-server.strategy (4) RollingUpdate | string |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| string | |
| number | |
controllers.immich-server.pod.topologySpreadConstraints[].topologyKey (1) kubernetes.io/hostname | string |
| string | |
| number | |
| string | |
controllers.immich-server.initContainers.01-init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
controllers.immich-server.initContainers.01-init-db.image.tag (1) 17.6@sha256:86a1992d46273c58fd4ad95b626081dfaabfe16bd56944675169e406d1a660dd | string |
controllers.immich-server.initContainers.02-init-extensions.command[] (1) - /bin/bash | string |
controllers.immich-server.initContainers.02-init-extensions.env[].name (1) PGDATABASE | string |
| string | |
controllers.immich-server.initContainers.02-init-extensions.env[].valueFrom.secretKeyRef.key (1) DB_DATABASE_NAME | string |
controllers.immich-server.initContainers.02-init-extensions.env[].valueFrom.secretKeyRef.name (1) immich-secret | string |
| string | |
controllers.immich-server.initContainers.02-init-extensions.image.repository (1) ghcr.io/home-operations/postgres-init | string |
controllers.immich-server.initContainers.02-init-extensions.image.tag (1) 17.6@sha256:86a1992d46273c58fd4ad95b626081dfaabfe16bd56944675169e406d1a660dd | string |
| string | |
| string | |
controllers.immich-server.initContainers.init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
controllers.main.containers.main.image.repository (2) ghcr.io/immich-app/immich-server | string |
controllers.main.containers.main.image.tag (2) v1.121.0@sha256:851c02f28891f1854c5b5762ee8d2e254e2de528cfe3627b2fbcb37a7f108ff3 | string |
| string | |
| string | |
| string | |
controllers.main.containers.main.dependsOn[] (1) - postgresql | string |
controllers.main.containers.main.env.IMMICH_CONFIG_FILE (1) /config/immich-config.json | string |
controllers.main.containers.main.env.IMMICH_MEDIA_LOCATION (1) /usr/src/app/upload | string |
| string | |
| number | |
controllers.main.containers.main.env.TZ (1) ${TIMEZONE} | string |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
controllers.main.containers.config-sync.env.LABEL (1) app.kubernetes.io/config-owner | string |
| string | |
| string | |
| boolean | |
| string | |
| string | |
controllers.main.containers.config-sync.image.repository (1) ghcr.io/kiwigrid/k8s-sidecar | string |
controllers.main.containers.config-sync.image.tag (1) 1.28.0@sha256:4166a019eeafd1f0fef4d867dc5f224f18d84ec8681dbb31f3ca258ecf07bcf2 | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
controllers.main.containers.immich-server.image.repository (1) ghcr.io/immich-app/immich-server | string |
| string | |
| number | |
| number | |
| string | |
| string | |
| string | |
controllers.main.containers.ml.image.repository (1) ghcr.io/immich-app/immich-machine-learning | string |
| string | |
| string | |
| string | |
| string | |
| string | |
controllers.main.containers.postgresql.image.repository (1) docker.io/tensorchord/pgvecto-rs | string |
| string | |
| string | |
controllers.main.containers.redis.image.repository (1) docker.io/library/redis | string |
| number | |
| string | |
| string | |
| string | |
controllers.main.initContainers.01-init-db.image.repository (1) ghcr.io/onedr0p/postgres-init | string |
| number | |
| string | |
controllers.main.initContainers.init-config.env.LABEL (1) app.kubernetes.io/config-owner | string |
| string | |
| string | |
| boolean | |
| string | |
| string | |
controllers.main.initContainers.init-config.image.repository (1) ghcr.io/kiwigrid/k8s-sidecar | string |
controllers.main.initContainers.init-config.image.tag (1) 1.28.0@sha256:4166a019eeafd1f0fef4d867dc5f224f18d84ec8681dbb31f3ca258ecf07bcf2 | string |
| string | |
| string | |
| string | |
| string | |
| string | |
controllers.main.initContainers.init-db.image.repository (1) ghcr.io/onedr0p/postgres-init | string |
| number | |
| number | |
controllers.main.strategy (1) RollingUpdate | string |
| string | |
| string | |
controllers.immich.containers.app.env.TZ (1) America/Santiago | string |
| string | |
| string | |
controllers.immich.containers.app.image.repository (1) ghcr.io/immich-app/immich-server | string |
controllers.immich.containers.app.image.tag (1) v1.135.3@sha256:df5bbf4e29eff4688063a005708f8b96f13073200b4a7378f7661568459b31e9 | string |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
controllers.immich.initContainers.01-init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
| number | |
controllers.immich.initContainers.02-init-extensions.command[] (1) - /bin/bash | string |
controllers.immich.initContainers.02-init-extensions.env[].name (1) PGDATABASE | string |
controllers.immich.initContainers.02-init-extensions.env[].valueFrom.secretKeyRef.key (1) DB_DATABASE_NAME | string |
controllers.immich.initContainers.02-init-extensions.env[].valueFrom.secretKeyRef.name (1) immich-secret | string |
| string | |
controllers.immich.initContainers.02-init-extensions.image.repository (1) ghcr.io/home-operations/postgres-init | string |
| number | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
controllers.immich.strategy (1) RollingUpdate | string |
service.app.controller (5) immich-server | string |
| number | |
| number | |
| number | |
| string | |
| string | |
| number | |
| number | |
| string | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
| number | |
defaultPodOptions.topologySpreadConstraints[].topologyKey (2) kubernetes.io/hostname | string |
| string | |
| string | |
ingress.app.annotations."external-dns.alpha.kubernetes.io/target" (2) external.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
ingress.app.annotations."gethomepage.dev/widget.fields" (1) ["photos", "videos", "storage"] | string |
ingress.app.annotations."gethomepage.dev/widget.key" (1) {{ `{{HOMEPAGE_VAR_IMMICH_API_KEY}}` }} | string |
| string | |
ingress.app.annotations."gethomepage.dev/widget.url" (1) https://photos.${PRIVATE_DOMAIN} | string |
ingress.app.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) chunked_transfer_encoding off;
| string |
| string | |
| string | |
ingress.app.className (3) external | string |
ingress.app.hosts[].host (3) photos.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
| string | |
ingress.app.tls[].hosts[] (3) - photos.${SECRET_DOMAIN} | string |
| boolean | |
ingress.main.hosts[].host (3) ${GATUS_SUBDOMAIN:-${APP}}.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
| string | |
| string | |
ingress.main.tls[].hosts[] (3) - ${GATUS_SUBDOMAIN:-${APP}}.${SECRET_DOMAIN} | string |
ingress.main.tls[].secretName (1) immich-tls | string |
ingress.main.annotations."gethomepage.dev/description" (2) Photo library and management | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
ingress.main.annotations."gethomepage.dev/widget.key" (1) {{HOMEPAGE_VAR_IMMICH}} | string |
| string | |
ingress.main.annotations."gethomepage.dev/widget.url" (1) https://immich.${SECRET_DOMAIN} | string |
ingress.main.annotations."nginx.ingress.kubernetes.io/cors-allow-headers" (1) X-Api-Key, User-Agent, Content-Type, Authorization | string |
ingress.main.annotations."nginx.ingress.kubernetes.io/cors-allow-methods" (1) GET, POST, PUT, DELETE, OPTIONS | string |
| string | |
| string | |
| string | |
ingress.main.className (2) internal | string |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
ingress.immich-server-internal.hosts[].host (1) photos-int.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
ingress.immich-server-internal.tls[].hosts[] (1) - photos-int.${SECRET_DOMAIN} | string |
ingress.immich-server.annotations."external-dns.alpha.kubernetes.io/target" (1) external.${SECRET_DOMAIN} | string |
| string | |
ingress.immich-server.annotations."hajimari.io/icon" (1) simple-icons:immich | 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 |
args[] (1) - ./start-server.sh | string |
command (1) /bin/sh | string |
| string | |
| string | |
| number | |
controller.strategy (1) RollingUpdate | string |
env.DB_DATABASE_NAME.valueFrom.secretKeyRef.key (1) DATABASE_NAME | string |
env.DB_DATABASE_NAME.valueFrom.secretKeyRef.name (1) database-immich-user | string |
| string | |
env.DB_HOSTNAME.valueFrom.secretKeyRef.name (1) database-immich-user | string |
| string | |
env.DB_PASSWORD.valueFrom.secretKeyRef.name (1) database-immich-user | string |
| string | |
env.DB_USERNAME.valueFrom.secretKeyRef.name (1) database-immich-user | string |
envFrom[].configMapRef.name (1) immich-configmap | string |
envFrom[].secretRef.name (1) immich-secret | string |
image.repository (1) ghcr.io/immich-app/immich-server | string |
image.tag (1) v1.79.1@sha256:38c3c0a8fd67aa04ee580b3a20d4a6dd7cd84df3f5387eadebc0a61ba0751518 | string |
| string | |
| string | |
| boolean | |
serviceAccount.name (1) immich | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
topologySpreadConstraints[].topologyKey (1) kubernetes.io/hostname | string |
topologySpreadConstraints[].whenUnsatisfiable (1) DoNotSchedule | string |