mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-09-17 18:22:54 +02:00
157 lines
5.4 KiB
YAML
157 lines
5.4 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: helm-immich
|
|
namespace: argocd
|
|
finalizers:
|
|
- resources-finalizer.argocd.argoproj.io
|
|
spec:
|
|
syncPolicy:
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
project: default
|
|
sources:
|
|
- chart: immich
|
|
repoURL: https://immich-app.github.io/immich-charts
|
|
targetRevision: 0.8.5 # Chart version! https://argo-cd.readthedocs.io/en/latest/user-guide/application-specification/
|
|
helm:
|
|
values: |
|
|
env:
|
|
REDIS_HOSTNAME: '{{ printf "%s-redis-master" .Release.Name }}'
|
|
DB_HOSTNAME: "{{ .Release.Name }}-postgresql"
|
|
DB_USERNAME: "{{ .Values.postgresql.global.postgresql.auth.username }}"
|
|
DB_DATABASE_NAME: "{{ .Values.postgresql.global.postgresql.auth.database }}"
|
|
# -- You should provide your own secret outside of this helm-chart and use `postgresql.global.postgresql.auth.existingSecret` to provide credentials to the postgresql instance
|
|
DB_PASSWORD: "{{ .Values.postgresql.global.postgresql.auth.password }}"
|
|
IMMICH_MACHINE_LEARNING_URL: '{{ printf "http://%s-machine-learning:3003" .Release.Name }}'
|
|
|
|
image:
|
|
tag: v1.122.3
|
|
|
|
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: immich-claim
|
|
|
|
# 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}}-{{dd}}/{{filename}}"
|
|
|
|
# Dependencies
|
|
|
|
postgresql:
|
|
enabled: true
|
|
image:
|
|
repository: tensorchord/pgvecto-rs
|
|
tag: pg14-v0.2.0
|
|
global:
|
|
postgresql:
|
|
auth:
|
|
username: immich
|
|
database: immich
|
|
password: immich
|
|
primary:
|
|
containerSecurityContext:
|
|
readOnlyRootFilesystem: false
|
|
initdb:
|
|
scripts:
|
|
create-extensions.sql: |
|
|
CREATE EXTENSION cube;
|
|
CREATE EXTENSION earthdistance;
|
|
CREATE EXTENSION vectors;
|
|
resources:
|
|
limits: {}
|
|
requests:
|
|
cpu: 200m
|
|
memory: 256Mi
|
|
|
|
redis:
|
|
enabled: true
|
|
architecture: standalone
|
|
auth:
|
|
enabled: false
|
|
|
|
# Immich components
|
|
|
|
server:
|
|
enabled: true
|
|
image:
|
|
repository: ghcr.io/immich-app/immich-server
|
|
pullPolicy: IfNotPresent
|
|
probes:
|
|
startup:
|
|
enabled: true
|
|
spec:
|
|
initialDelaySeconds: 0
|
|
timeoutSeconds: 1
|
|
periodSeconds: 5
|
|
failureThreshold: 1000
|
|
ingress:
|
|
main:
|
|
enabled: true
|
|
ingressClassName: nginx
|
|
annotations:
|
|
# proxy-body-size is set to 0 to remove the body limit on file uploads
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
|
cert-manager.io/cluster-issuer: prod-cluster-issuer
|
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
|
nginx.ingress.kubernetes.io/rewrite-target: /sharing
|
|
hosts:
|
|
- host: immich.hensen.io
|
|
paths:
|
|
- path: "/"
|
|
- host: foto.scoutingmbg.nl
|
|
paths:
|
|
- path: /photos
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: sol-auth-svc
|
|
port: 8002
|
|
- path: "/"
|
|
service:
|
|
name: sol-auth-svc
|
|
port: 8002
|
|
|
|
tls:
|
|
- secretName: letsencrypt-prod
|
|
hosts:
|
|
- immich.hensen.io
|
|
- foto.scoutingmbg.nl
|
|
|
|
machine-learning:
|
|
enabled: true
|
|
image:
|
|
repository: ghcr.io/immich-app/immich-machine-learning
|
|
pullPolicy: IfNotPresent
|
|
env:
|
|
TRANSFORMERS_CACHE: /cache
|
|
persistence:
|
|
cache:
|
|
enabled: true
|
|
size: 10Gi
|
|
# Optional: Set this to pvc to avoid downloading the ML models every start.
|
|
type: emptyDir
|
|
accessMode: ReadWriteMany
|
|
# storageClass: your-class
|
|
|
|
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: immich |