mirror of
https://github.com/zoriya/snow.git
synced 2025-12-06 07:16:19 +00:00
Fix immich
This commit is contained in:
@@ -1,30 +0,0 @@
|
|||||||
apiVersion: postgresql.cnpg.io/v1
|
|
||||||
kind: Cluster
|
|
||||||
metadata:
|
|
||||||
name: immich-cluster
|
|
||||||
spec:
|
|
||||||
imageName: ghcr.io/tensorchord/cloudnative-vectorchord:17.5-0.3.0
|
|
||||||
instances: 1
|
|
||||||
storage:
|
|
||||||
size: 4Gi
|
|
||||||
|
|
||||||
postgresql:
|
|
||||||
shared_preload_libraries:
|
|
||||||
- "vchord.so"
|
|
||||||
---
|
|
||||||
apiVersion: postgresql.cnpg.io/v1
|
|
||||||
kind: Database
|
|
||||||
metadata:
|
|
||||||
name: immich
|
|
||||||
spec:
|
|
||||||
name: immich
|
|
||||||
owner: immich
|
|
||||||
cluster:
|
|
||||||
name: immich-cluster
|
|
||||||
extensions:
|
|
||||||
- name: vector
|
|
||||||
ensure: present
|
|
||||||
- name: vchord
|
|
||||||
ensure: present
|
|
||||||
- name: earthdistance
|
|
||||||
ensure: present
|
|
||||||
34
apps/immich/database.yaml
Normal file
34
apps/immich/database.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Database
|
||||||
|
metadata:
|
||||||
|
name: immich
|
||||||
|
namespace: postgres
|
||||||
|
spec:
|
||||||
|
name: immich
|
||||||
|
owner: immich
|
||||||
|
cluster:
|
||||||
|
name: postgres-cluster
|
||||||
|
extensions:
|
||||||
|
- name: vector
|
||||||
|
ensure: present
|
||||||
|
- name: vchord
|
||||||
|
ensure: present
|
||||||
|
- name: cube
|
||||||
|
ensure: present
|
||||||
|
- name: earthdistance
|
||||||
|
ensure: present
|
||||||
|
---
|
||||||
|
apiVersion: cert-manager.io/v1
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: postgres-immich
|
||||||
|
spec:
|
||||||
|
secretName: postgres-immich
|
||||||
|
usages:
|
||||||
|
- client auth
|
||||||
|
# same as pg user
|
||||||
|
commonName: immich
|
||||||
|
issuerRef:
|
||||||
|
name: postgres-ca
|
||||||
|
kind: ClusterIssuer
|
||||||
|
group: cert-manager.io
|
||||||
@@ -2,12 +2,14 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
|
|
||||||
helmCharts:
|
helmCharts:
|
||||||
- repo: oci://ghcr.io/immich-app/immich-charts
|
- repo: oci://ghcr.io/immich-app/immich-charts
|
||||||
name: immich
|
name: immich
|
||||||
releaseName: immich
|
releaseName: immich
|
||||||
version: 0.9.3
|
namespace: immich
|
||||||
valuesFile: values.yaml
|
version: 0.9.3
|
||||||
|
valuesFile: values.yaml
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
- pvc.yaml
|
- pvc.yaml
|
||||||
- cluster.yaml
|
- database.yaml
|
||||||
|
- oidc.yaml
|
||||||
|
|||||||
32
apps/immich/oidc.yaml
Normal file
32
apps/immich/oidc.yaml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
apiVersion: external-secrets.io/v1
|
||||||
|
kind: ExternalSecret
|
||||||
|
metadata:
|
||||||
|
name: immich-oidc
|
||||||
|
spec:
|
||||||
|
refreshInterval: 24h
|
||||||
|
secretStoreRef:
|
||||||
|
name: bitwarden
|
||||||
|
kind: ClusterSecretStore
|
||||||
|
target:
|
||||||
|
template:
|
||||||
|
engineVersion: v2
|
||||||
|
data:
|
||||||
|
"config.yaml": |-
|
||||||
|
oauth:
|
||||||
|
enabled: true
|
||||||
|
buttonText: Login with OAuth
|
||||||
|
clientId: "{{ .clientId }}"
|
||||||
|
clientSecret: "{{ .clientSecret }}"
|
||||||
|
defaultStorageQuota: 0
|
||||||
|
issuerUrl: https://authentik.sdg.moe/application/o/immich/.well-known/openid-configuration
|
||||||
|
scope: openid email profile
|
||||||
|
signingAlgorithm: RS256
|
||||||
|
profileSigningAlgorithm: none
|
||||||
|
storageLabelClaim: preferred_username
|
||||||
|
storageQuotaClaim: immich_quota
|
||||||
|
autoLaunch: true
|
||||||
|
passwordLogin:
|
||||||
|
enabled: false
|
||||||
|
dataFrom:
|
||||||
|
- extract:
|
||||||
|
key: immich-sso
|
||||||
@@ -6,46 +6,42 @@ immich:
|
|||||||
existingClaim: pictures
|
existingClaim: pictures
|
||||||
redis:
|
redis:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
server:
|
server:
|
||||||
ingress:
|
ingress:
|
||||||
main:
|
main:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
className: cilium
|
||||||
annotations:
|
annotations:
|
||||||
cert-manager.io/cluster-issuer: letsencrypt
|
cert-manager.io/cluster-issuer: letsencrypt
|
||||||
acme.cert-manager.io/http01-edit-in-place: "true"
|
acme.cert-manager.io/http01-edit-in-place: "true"
|
||||||
# proxy-body-size is set to 0 to remove the body limit on file uploads
|
# proxy-body-size is set to 0 to remove the body limit on file uploads
|
||||||
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
||||||
hosts:
|
hosts:
|
||||||
- host: immich.sdg.moe
|
- host: immich.sdg.moe
|
||||||
paths:
|
paths:
|
||||||
- path: "/"
|
- path: /
|
||||||
tls:
|
tls:
|
||||||
- secretName: immich-tls
|
- secretName: immich-tls
|
||||||
hosts:
|
hosts:
|
||||||
- immich.sdg.moe
|
- immich.sdg.moe
|
||||||
|
|
||||||
machine-learning:
|
machine-learning:
|
||||||
persistence:
|
persistence:
|
||||||
cache:
|
cache:
|
||||||
type: pvc
|
type: pvc
|
||||||
#
|
|
||||||
# env:
|
env:
|
||||||
# DB_HOSTNAME:
|
DB_URL: postgres://immich@postgres-cluster-rw.postgres/immich?sslcert=/pg/tls.crt&sslkey=/pg/tls.key&sslrootcert=/pg/ca.crt
|
||||||
# valueFrom:
|
IMMICH_CONFIG_FILE: /config/config.yaml
|
||||||
# secretKeyRef:
|
persistence:
|
||||||
# name: database-immich-user
|
pg:
|
||||||
# key: HOST
|
enabled: true
|
||||||
# DB_USERNAME:
|
type: secret
|
||||||
# valueFrom:
|
name: postgres-immich
|
||||||
# secretKeyRef:
|
defaultMode: 0640
|
||||||
# name: database-immich-user
|
|
||||||
# key: LOGIN
|
config:
|
||||||
# DB_PASSWORD:
|
enabled: true
|
||||||
# valueFrom:
|
type: secret
|
||||||
# secretKeyRef:
|
name: immich-oidc
|
||||||
# name: database-immich-user
|
|
||||||
# key: PASSWORD
|
|
||||||
# DB_DATABASE_NAME:
|
|
||||||
# valueFrom:
|
|
||||||
# secretKeyRef:
|
|
||||||
# name: database-immich-user
|
|
||||||
# key: DATABASE_NAME
|
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ spec:
|
|||||||
storage:
|
storage:
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
|
|
||||||
|
backup:
|
||||||
|
retentionPolicy: 7d
|
||||||
|
|
||||||
certificates:
|
certificates:
|
||||||
serverCASecret: postgres-server-cert
|
serverCASecret: postgres-server-cert
|
||||||
serverTLSSecret: postgres-server-cert
|
serverTLSSecret: postgres-server-cert
|
||||||
@@ -18,10 +21,13 @@ spec:
|
|||||||
pg_hba:
|
pg_hba:
|
||||||
- hostssl all all all cert
|
- hostssl all all all cert
|
||||||
|
|
||||||
backup:
|
# this is needed for immich
|
||||||
retentionPolicy: 7d
|
shared_preload_libraries:
|
||||||
|
- "vchord.so"
|
||||||
|
imageName: ghcr.io/tensorchord/cloudnative-vectorchord:17.5-0.3.0
|
||||||
|
|
||||||
# this is here because no `Role` crd exsists yet.
|
|
||||||
|
# this is here because no `Role` crd exists yet.
|
||||||
# see https://github.com/cloudnative-pg/cloudnative-pg/issues/5341
|
# see https://github.com/cloudnative-pg/cloudnative-pg/issues/5341
|
||||||
managed:
|
managed:
|
||||||
roles:
|
roles:
|
||||||
@@ -34,3 +40,6 @@ spec:
|
|||||||
- name: gitea
|
- name: gitea
|
||||||
login: true
|
login: true
|
||||||
disablePassword: true
|
disablePassword: true
|
||||||
|
- name: immich
|
||||||
|
login: true
|
||||||
|
disablePassword: true
|
||||||
|
|||||||
@@ -44,11 +44,13 @@ externalIPs:
|
|||||||
|
|
||||||
ingressController:
|
ingressController:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
default: true
|
||||||
loadbalancerMode: shared
|
loadbalancerMode: shared
|
||||||
service:
|
service:
|
||||||
annotations:
|
annotations:
|
||||||
lbipam.cilium.io/ips: 192.168.0.201
|
lbipam.cilium.io/ips: 192.168.0.201
|
||||||
|
|
||||||
|
|
||||||
gatewayAPI:
|
gatewayAPI:
|
||||||
enabled: true
|
enabled: true
|
||||||
operator:
|
operator:
|
||||||
|
|||||||
Reference in New Issue
Block a user