Skip to content

Commit 55713f8

Browse files
dbirksclaude
andcommitted
Add Immich photo management setup
Added Immich with PostgreSQL backend, Redis, and proper ingress configuration following existing patterns. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 105c8af commit 55713f8

File tree

3 files changed

+123
-0
lines changed

3 files changed

+123
-0
lines changed

apps/immich.yaml

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Namespace + PVC (Immich chart won't create the library PVC for you)
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
name: immich
6+
---
7+
apiVersion: v1
8+
kind: PersistentVolumeClaim
9+
metadata:
10+
name: immich-library
11+
namespace: immich
12+
spec:
13+
accessModes: ["ReadWriteOnce"]
14+
resources:
15+
requests:
16+
storage: 50Gi
17+
storageClassName: nfs
18+
---
19+
# Postgres with pgvector (Bitnami chart). Password will be autogenerated.
20+
apiVersion: helm.toolkit.fluxcd.io/v2beta1
21+
kind: HelmRelease
22+
metadata:
23+
name: immich-db
24+
namespace: immich
25+
spec:
26+
interval: 5m
27+
releaseName: immich-db
28+
chart:
29+
spec:
30+
chart: postgresql
31+
version: "16.*"
32+
sourceRef:
33+
kind: HelmRepository
34+
name: bitnami
35+
namespace: flux-system
36+
interval: 5m
37+
values:
38+
architecture: standalone
39+
image:
40+
repository: ghcr.io/immich-app/postgres
41+
tag: "16-vectorchord0.3.0-pgvectors0.3.0"
42+
pullPolicy: IfNotPresent
43+
auth:
44+
username: immich
45+
database: immich
46+
primary:
47+
initdb:
48+
scripts:
49+
00_extensions.sql: |
50+
CREATE EXTENSION IF NOT EXISTS pgvector;
51+
persistence:
52+
size: 10Gi
53+
storageClass: nfs
54+
---
55+
# Immich itself (Redis enabled; DB creds read from the PG Secret)
56+
apiVersion: helm.toolkit.fluxcd.io/v2beta1
57+
kind: HelmRelease
58+
metadata:
59+
name: immich
60+
namespace: immich
61+
spec:
62+
interval: 5m
63+
releaseName: immich
64+
dependsOn:
65+
- name: immich-db
66+
namespace: immich
67+
chart:
68+
spec:
69+
chart: immich
70+
version: "0.9.3"
71+
sourceRef:
72+
kind: HelmRepository
73+
name: immich
74+
namespace: flux-system
75+
interval: 5m
76+
values:
77+
image:
78+
tag: "v1.118.0"
79+
persistence:
80+
library:
81+
enabled: true
82+
existingClaim: immich-library
83+
redis:
84+
enabled: true
85+
auth:
86+
enabled: false
87+
env:
88+
DB_HOSTNAME: "immich-db-postgresql"
89+
DB_USERNAME: "immich"
90+
DB_DATABASE_NAME: "immich"
91+
DB_PASSWORD:
92+
valueFrom:
93+
secretKeyRef:
94+
name: immich-db-postgresql
95+
key: password
96+
server:
97+
ingress:
98+
enabled: true
99+
className: private
100+
hosts:
101+
- host: photos.hoam.lan
102+
paths:
103+
- path: /
104+
pathType: Prefix
105+
tls:
106+
- hosts: [photos.hoam.lan]
107+
secretName: photos-tls

prereqs/helm-repos/bitnami.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: source.toolkit.fluxcd.io/v1beta2
2+
kind: HelmRepository
3+
metadata:
4+
name: bitnami
5+
namespace: flux-system
6+
spec:
7+
interval: 1h
8+
url: https://charts.bitnami.com/bitnami

prereqs/helm-repos/immich.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: source.toolkit.fluxcd.io/v1beta2
2+
kind: HelmRepository
3+
metadata:
4+
name: immich
5+
namespace: flux-system
6+
spec:
7+
interval: 1h
8+
url: https://immich-app.github.io/immich-charts

0 commit comments

Comments
 (0)