apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: immich-server namespace: photo spec: interval: 30m chartRef: kind: OCIRepository name: immich driftDetection: mode: enabled values: controllers: server: containers: app: image: repository: ghcr.io/immich-app/immich-server tag: release env: TZ: Europe/Moscow DB_HOSTNAME: immich-postgres DB_PORT: "5432" DB_USERNAME: postgres DB_DATABASE_NAME: immich DB_PASSWORD: valueFrom: secretKeyRef: name: immich-secrets key: DB_PASSWORD REDIS_HOSTNAME: immich-redis REDIS_PORT: "6379" IMMICH_MACHINE_LEARNING_URL: http://immich-ml:3003 probes: # first boot runs DB migrations + vector index setup, which # can take a while - without a startup probe the default # liveness probe (periodSeconds=10, failureThreshold=3) kills # the container ~30s in, well before it's finished binding # the port, causing an endless restart loop. startup: enabled: true spec: periodSeconds: 5 failureThreshold: 60 liveness: enabled: true readiness: enabled: true resources: requests: cpu: 200m memory: 512Mi limits: memory: 4Gi service: app: controller: server ports: http: port: 2283 ingress: app: className: traefik annotations: cert-manager.io/cluster-issuer: letsencrypt-prod hosts: - host: photo.aggtaa.com paths: - path: / pathType: Prefix service: identifier: app port: http tls: - secretName: immich-tls hosts: - photo.aggtaa.com persistence: # brand new, dedicated library - deliberately not reusing the old # docker-compose install's NAS data, and not nfs-photo either. library: type: persistentVolumeClaim accessMode: ReadWriteOnce size: 100Gi storageClass: longhorn-single-replica retain: true globalMounts: - path: /data