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.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
immich-server | cbirkenbeul/homelab | 33 | 3.7.3 | 4 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
persistence.library.globalMounts[].path (14) /usr/src/app/upload | string |
string | |
persistence.library.existingClaim (8) immich-nfs | string |
persistence.library.path (7) /mnt/STORAGE-01/Immich | string |
persistence.library.server (7) ${TRUENAS_IP} | 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 | |
string | |
persistence.config.name (3) immich-configmap | string |
persistence.config.type (3) configMap | string |
boolean | |
persistence.config.accessMode (1) ReadWriteOnce | string |
string | |
persistence.config.storageClass (1) openebs-hostpath | string |
persistence.transformers-cache.globalMounts[].path (2) /usr/src/app/.transformers_cache | string |
string | |
boolean | |
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 | |
string | |
persistence.media.path (1) /mnt/data/media | string |
persistence.media.server (1) 192.168.10.42 | 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 | |
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 | |
service.app.controller (10) immich-server | string |
number | |
boolean | |
number | |
number | |
service.main.controller (5) immich-server | string |
service.main.annotations."io.cilium/lb-ipam-ips" (1) 192.168.10.18 | string |
service.main.type (1) LoadBalancer | string |
string | |
number | |
string | |
service.immich-server.type (1) LoadBalancer | string |
number, string | |
string | |
number, string | |
number, string | |
number | |
boolean | |
string | |
boolean | |
string | |
number | |
defaultPodOptions.topologySpreadConstraints[].topologyKey (3) kubernetes.io/hostname | string |
string | |
defaultPodOptions.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].key (1) google.feature.node.kubernetes.io/coral | string |
string | |
string | |
string | |
number | |
ingress.app.className (9) internal | string |
ingress.app.hosts[].host (9) immich.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
ingress.app.annotations."external-dns.alpha.kubernetes.io/target" (3) ipv4.${REMOTE_DOMAIN} | string |
ingress.app.annotations."gethomepage.dev/description" (3) Photo management | string |
string | |
string | |
string | |
string | |
ingress.app.annotations."gethomepage.dev/widget.key" (3) {{ `{{HOMEPAGE_VAR_IMMICH_TOKEN}}` }} | string |
string | |
ingress.app.annotations."gethomepage.dev/widget.url" (3) http://immich-server.media.svc.cluster.local:3001 | string |
ingress.app.annotations."hajimari.io/icon" (3) heroicons:photo | string |
ingress.app.annotations."gethomepage.dev/widget.fields" (2) ["photos", "videos", "storage"] | string |
string | |
ingress.app.annotations."cert-manager.io/cluster-issuer" (1) letsencrypt-production | string |
string | |
string | |
string | |
ingress.app.annotations."hajimari.io/info" (1) Manage Photos | string |
ingress.app.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) chunked_transfer_encoding off;
| string |
string | |
string | |
ingress.app.annotations."nginx.ingress.kubernetes.io/whitelist-source-range" (1) 192.168.0.0/16,172.16.0.0/12,10.0.0.0/8
| string |
ingress.app.tls[].hosts[] (6) - photos.${REMOTE_DOMAIN} | string |
ingress.app.tls[].secretName (1) certificate-haynesnetwork | string |
boolean | |
ingress.main.hosts[].host (6) img.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
ingress.main.tls[].hosts[] (6) - img.${SECRET_DOMAIN} | string |
ingress.main.tls[].secretName (1) immich-tls | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
ingress.main.annotations."gethomepage.dev/widget.key" (3) {{`{{HOMEPAGE_VAR_IMMICH_TOKEN}}`}} | string |
string | |
ingress.main.annotations."gethomepage.dev/widget.url" (3) https://img.${SECRET_DOMAIN} | string |
ingress.main.annotations."external-dns.alpha.kubernetes.io/target" (2) external.${SECRET_DOMAIN} | string |
string | |
string | |
ingress.main.className (4) internal | string |
string | |
ingress.immich-server.annotations."external-dns.alpha.kubernetes.io/target" (2) external.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
ingress.immich-server.annotations."hajimari.io/icon" (1) simple-icons:immich | string |
string | |
string | |
string | |
string | |
ingress.immich-server.hosts[].host (2) photos.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
ingress.immich-server.tls[].hosts[] (2) - photos.${SECRET_DOMAIN} | string |
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.public.annotations."external-dns.alpha.kubernetes.io/target" (1) ingress.${PUBLIC_DOMAIN} | string |
string | |
ingress.public.annotations."nginx.ingress.kubernetes.io/configuration-snippet" (1) sub_filter </head>
'</head><script defer src="https://analytics.thiagoalmeida.xyz/script.js" data-website-id="086445c0-1f67-46c4-9246-bd1f74278421"></script>';
sub_filter_once on;
| string |
string | |
string | |
string | |
boolean | |
ingress.public.hosts[].host (1) photos.${PUBLIC_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
controllers.immich-server.containers.app.image.repository (8) ghcr.io/immich-app/immich-server | string |
controllers.immich-server.containers.app.image.tag (8) v1.132.3@sha256:6680d88486251b0264a78a1934fe82eef875555aa6d84d703a0980328a5d5c31 | string |
string | |
string | |
number | |
string | |
number | |
controllers.immich-server.containers.app.env.TZ (4) ${CLUSTER_TIMEZONE} | string |
controllers.immich-server.containers.app.env.IMMICH_MEDIA_LOCATION (2) /media/library/photos | string |
number | |
string | |
controllers.immich-server.containers.app.env.DB_HOSTNAME (1) immich-db-rw.media.svc.cluster.local | string |
string | |
string | |
string | |
string | |
string | |
string | |
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 | |
number | |
boolean | |
string | |
boolean | |
controllers.immich-server.containers.main.env.IMMICH_MEDIA_LOCATION (2) /usr/src/app/upload | string |
number | |
string | |
string | |
string | |
controllers.immich-server.containers.main.image.repository (2) ghcr.io/immich-app/immich-server | string |
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 | |
number | |
string | |
string | |
string | |
boolean | |
string | |
number | |
controllers.immich-server.pod.topologySpreadConstraints[].topologyKey (4) kubernetes.io/hostname | string |
string | |
number | |
string | |
number | |
number | |
number | |
string | |
string | |
string | |
controllers.immich-server.strategy (6) RollingUpdate | string |
number | |
string | |
string | |
controllers.immich-server.initContainers.01-init-db.image.repository (2) ghcr.io/home-operations/postgres-init | string |
controllers.immich-server.initContainers.01-init-db.image.tag (2) 17.5@sha256:894a38169bf4135fb1e85a1112c64fc24a267d1191887cbf6fb8c0a17893770d | 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.5@sha256:894a38169bf4135fb1e85a1112c64fc24a267d1191887cbf6fb8c0a17893770d | 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 (3) ghcr.io/immich-app/immich-server | string |
controllers.main.containers.main.image.tag (3) v1.121.0@sha256:851c02f28891f1854c5b5762ee8d2e254e2de528cfe3627b2fbcb37a7f108ff3 | string |
string | |
string | |
string | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
boolean | |
number | |
string | |
number | |
number | |
number | |
number | |
boolean | |
controllers.main.containers.main.args[] (1) - start-server.sh | 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 |
string | |
string | |
string | |
controllers.main.containers.immich-server.image.repository (2) ghcr.io/immich-app/immich-server | string |
string | |
number | |
number | |
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.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 | |
controllers.main.strategy (3) RollingUpdate | string |
string | |
string | |
controllers.main.initContainers.01-init-db.image.repository (2) 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 | |
boolean | |
number | |
string | |
number | |
number | |
string | |
number | |
controllers.main.pod.topologySpreadConstraints[].topologyKey (1) kubernetes.io/hostname | string |
string | |
string | |
string | |
string | |
string | |
string | |
controllers.immich.containers.app.image.repository (3) ghcr.io/immich-app/immich-server | string |
controllers.immich.containers.app.image.tag (3) v1.132.3@sha256:6680d88486251b0264a78a1934fe82eef875555aa6d84d703a0980328a5d5c31 | 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 | |
string | |
string | |
controllers.immich.containers.app.env.IMMICH_MEDIA_LOCATION (1) /usr/src/app/upload | string |
string | |
string | |
boolean | |
string | |
boolean | |
controllers.immich.strategy (3) RollingUpdate | string |
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 | |
string | |
string | |
controllers.immich.initContainers.init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
number | |
boolean | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
initContainers.01-init-db.envFrom[].configMapRef.name (1) immich-configmap | string |
string | |
initContainers.01-init-db.image (1) ghcr.io/home-operations/postgres-init:17.5 | string |
initContainers.01-init-db.imagePullPolicy (1) IfNotPresent | string |
string | |
string | |
boolean | |
serviceAccount.name (1) immich | string |