--- # yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/helmrelease_v2beta1.json apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: name: &app immich-web namespace: default spec: interval: 15m chart: spec: chart: app-template version: 1.3.2 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 3 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false dependsOn: - name: immich-server values: controller: replicas: 3 strategy: RollingUpdate annotations: reloader.stakater.com/auto: "true" image: repository: ghcr.io/immich-app/immich-web tag: v1.49.0 command: /bin/sh args: - ./entrypoint.sh envFrom: - secretRef: name: immich-secret - configMapRef: name: immich-configmap service: main: ports: http: port: 3000 ingress: main: enabled: true ingressClassName: nginx annotations: external-dns.home.arpa/enabled: "true" nginx.ingress.kubernetes.io/configuration-snippet: | rewrite /api/(.*) /$1 break; nignx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/proxy-body-size: "0" hajimari.io/appName: Immich hajimari.io/icon: heroicons:photo hosts: - host: &host photos.${SECRET_CLUSTER_DOMAIN} paths: - path: / pathType: Prefix - path: /api pathType: Prefix service: name: immich-server port: 3001 tls: - hosts: - *host persistence: library: enabled: true existingClaim: immich-nfs mountPath: /usr/src/app/upload topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: *app resources: requests: cpu: 10m memory: 100Mi limits: memory: 500Mi