## This chart relies on the common library chart from bjw-s ## You can find it at https://github.com/bjw-s-labs/helm-charts/tree/common-4.3.0/charts/library/common ## Refer there for more detail about the supported values controllers: main: containers: main: image: tag: v2.6.3 env: REDIS_HOSTNAME: '{{ printf "%s-valkey" .Release.Name }}' IMMICH_MACHINE_LEARNING_URL: '{{ printf "http://%s-machine-learning:3003" .Release.Name }}' DB_HOSTNAME: "immich-postgres-rw" DB_PORT: "5432" # Database name matches what we set in the CNPG cluster DB_DATABASE_NAME: "immich" # Credentials: reuse the CNPG bootstrap secret DB_USERNAME: valueFrom: secretKeyRef: name: immich-postgres-app key: username DB_PASSWORD: valueFrom: secretKeyRef: name: immich-postgres-app key: password immich: metrics: # Enabling this will create the service monitors needed to monitor immich with the prometheus operator enabled: false persistence: # Main data store for all photos shared between different components. library: # Automatically creating the library volume is not supported by this chart # You have to specify an existing PVC to use existingClaim: pvc-immich # configuration is immich-config.json converted to yaml # ref: https://immich.app/docs/install/config-file/ # configuration: # trash: # enabled: false # days: 30 storageTemplate: enabled: true template: "{{y}}/{{y}}-{{MM}}/{{filename}}" # Dependencies valkey: enabled: true controllers: main: containers: main: image: repository: docker.io/valkey/valkey tag: 9.0-alpine@sha256:b4ee67d73e00393e712accc72cfd7003b87d0fcd63f0eba798b23251bfc9c394 pullPolicy: IfNotPresent persistence: data: enabled: true size: 1Gi # Optional: Set this to persistentVolumeClaim to keep job queues persistent type: emptyDir accessMode: ReadWriteOnce storageClass: local-storage # Immich components server: enabled: true controllers: main: containers: main: image: repository: ghcr.io/immich-app/immich-server pullPolicy: IfNotPresent ingress: main: enabled: true ingressClassName: traefik annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/proxy-body-size: "0" hosts: - host: immich-ad.ovh paths: - path: / pathType: Prefix tls: - hosts: - immich-ad.ovh secretName: immich-tls service: main: type: ClusterIP ports: http: port: 2283 targetPort: 2283 machine-learning: enabled: true controllers: main: containers: main: image: repository: ghcr.io/immich-app/immich-machine-learning pullPolicy: IfNotPresent env: TRANSFORMERS_CACHE: /cache HF_XET_CACHE: /cache/huggingface-xet MPLCONFIGDIR: /cache/matplotlib-config persistence: cache: enabled: true size: 10Gi # Optional: Set this to persistentVolumeClaim to avoid downloading the ML models every start. type: emptyDir accessMode: ReadWriteMany # storageClass: your-class