--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease metadata: name: &app photoprism namespace: default spec: interval: 30m chart: spec: chart: app-template version: 3.1.0 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system maxHistory: 2 install: createNamespace: true remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 uninstall: keepHistory: false values: controllers: photoprism: strategy: RollingUpdate annotations: reloader.stakater.com/auto: "true" containers: app: image: repository: docker.io/photoprism/photoprism tag: latest@sha256:92c0fb0775e2fa5ac681aef71ccfe3d8de578f659f2e577e2c540eaf56374a88 env: PHOTOPRISM_STORAGE_PATH: &storage /config PHOTOPRISM_ORIGINALS_PATH: &originals /var/mnt/vol1/photo/Gallery PHOTOPRISM_DEBUG: "false" PHOTOPRISM_PUBLIC: "true" PHOTOPRISM_SITE_URL: "https://photos.${SECRET_CLUSTER_DOMAIN}/" PHOTOPRISM_ORIGINALS_LIMIT: 4000 # in MB (default 1000) envFrom: - secretRef: name: photoprism-secret resources: requests: cpu: 100m memory: 256Mi service: app: controller: *app ports: http: port: 2342 ingress: app: enabled: true className: nginx annotations: external-dns.alpha.kubernetes.io/enabled: "true" external-dns.alpha.kubernetes.io/target: services.${SECRET_DOMAIN}. nginx.ingress.kubernetes.io/auth-method: GET nginx.ingress.kubernetes.io/auth-url: http://authelia.default.svc.cluster.local.:8888/api/verify nginx.ingress.kubernetes.io/auth-signin: https://auth.${SECRET_CLUSTER_DOMAIN}?rm=$request_method nginx.ingress.kubernetes.io/auth-response-headers: Remote-User,Remote-Name,Remote-Groups,Remote-Email nginx.ingress.kubernetes.io/auth-snippet: proxy_set_header X-Forwarded-Method $request_method; nginx.ingress.kubernetes.io/proxy-body-size: 4G hajimari.io/icon: arcticons:photoprism hosts: - host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}" paths: - path: / service: identifier: app port: http tls: - hosts: - *host persistence: config: enabled: true existingClaim: *app globalMounts: - path: *storage originals: type: nfs server: 192.168.9.10 path: *originals globalMounts: - path: *originals