Commit Graph
151 Commits
Author SHA1 Message Date
Ruben Hensen 5bb1422594 Raise two requests after the morning's numbers 2026-10-25 09:43:11 +01:00
Ruben Hensen 72f49bed51 Set resource requests from measured usage 2026-10-25 07:08:16 +01:00
Ruben Hensen 57514c3c14 immich: limit the pods to each other, DNS and the internet 2026-10-25 03:12:02 +01:00
Ruben Hensen b2649a682c immich: log in through auth.scoutingmbg.nl
The Scouts Online connection now redirects to auth.scoutingmbg.nl, the
group's own domain for the authentik login, so immich's OAuth issuer
moves there too.
2026-10-25 02:03:50 +01:00
Ruben Hensen c3505bc8e3 immich: remove sol-auth
foto.scoutingmbg.nl goes straight to immich since the switch to Scouts
Online, so the Apache with mod_auth_openid (OpenID 2) in front of it has
no traffic left.
2026-10-24 14:14:43 +02:00
Ruben Hensen 88f68cd698 immich: share albums that kaderleden create automatically
Nobody uses the group account anymore, so new albums belong to the
leiding who make them, and share-sync only shared albums the group
account was in. It now first adds the group account as editor to every
album an uploader owns (straight in the database: the API only lets an
album's owner or editors share it), after which the album goes to
everyone like the others. Albums whose name starts with "Privé" or
"Prive" are left alone.
2026-10-24 14:10:30 +02:00
Ruben Hensen 71af3a9342 immich: fix hiding album invitations in share-sync
immich stores a notification's data as a JSON string inside the jsonb column, so data->>'albumId' was always null and no invitation was hidden. Unwrap it first.
2026-10-24 14:03:02 +02:00
Ruben Hensen abed11dbaa immich: log in with Scouts Online only
foto.scoutingmbg.nl now goes straight to immich instead of through
sol-auth. immich starts the Scouts Online login right away, the password
login is off and the login page no longer shows the password of the
shared viewing account. share-sync is on, so everyone gets every album
and the group's library in their timeline.

sol-auth stays deployed for now, so switching the route back is the way
back.
2026-10-24 14:01:23 +02:00
Ruben Hensen 86a0c59c6b immich: add share-sync, suspended
immich has no user groups, so a CronJob shares the group account's
albums with every user, as editor when they may upload (quota other than
0, which authentik sets from Scouts Online) and as viewer otherwise. It
also shares the group account's library as a partner and shows it in
every timeline, since immich only searches your own and your timeline
partners' photos; hides the album invitations for albums older than a
week; and ends OAuth sessions older than 30 days, so people who left the
group lose access at their next login.

Suspended until immich logs in through Scouts Online only.
2026-10-24 13:48:07 +02:00
Ruben Hensen 399387bfb7 immich: configure through a config file with OAuth
immich gets its settings from a Secret that ESO renders with the OAuth
client secret from Vault. It keeps the settings that were in the database
(external domain, login page message, storage template) and adds OAuth
through authentik next to the password login, with auto register. With a
config file the settings are read-only in the admin UI.
2026-10-24 13:19:52 +02:00
Ruben Hensen c270bcc12b immich: upgrade to v3.3.5 and chart 0.13.4
immich 3 drops pgvecto.rs, which the database no longer uses since the
move to PostgreSQL 17 with VectorChord 1.1.1 (supported range >=0.3 <2)
and pgvector 0.8.6 (>=0.7 <0.9). None of the removed environment
variables are set here. The mobile app cannot pass sol-auth, so there are
no app clients to upgrade first.

Charts after 0.12.0 are only published to the OCI registry. Since 0.13.0
the chart validates its values, and emptyDir volumes no longer accept
size, accessMode or storageClass; they did nothing anyway. Valkey follows
the chart's new default, 9.1.2. Each component now gets its own
ServiceAccount without a mounted token.

Safety net: Longhorn snapshot immich-pg17-pre-v3 and a pg_dump in
~/immich-pg17-pre-v3.dump on opti1, since immich cannot be downgraded.
2026-10-24 12:29:35 +02:00
Ruben Hensen a8a186b4d3 immich: upgrade to v2.7.5
v2.4.1 only accepts VectorChord >=0.3 <0.6 and refused to start on the new PostgreSQL 17 cluster with VectorChord 1.1.1; from v2.5.0 the range is >=0.3 <2. v2.7.5 is the last 2.x release; the 3.x upgrade comes separately.
2026-10-24 02:12:53 +02:00
Ruben Hensen 8596e8a428 immich: use the PostgreSQL 17 cluster and start the server again
The import into immich-postgres-17 matched the old database table for table (assets, embeddings, faces, people, albums, migrations). On start immich builds its VectorChord indexes.
2026-10-24 02:06:41 +02:00
Ruben Hensen 251f22c46f immich: add a PostgreSQL 17 cluster with VectorChord
Imported once from the PostgreSQL 14 cluster, whose embeddings were converted to real[] and whose pgvecto.rs extension was dropped first (immich's manual migration). After the import the columns become vector(512) again under VectorChord 1.1.1 with pgvector 0.8.6. A logical import because CNPG can't upgrade in place from the bullseye-based pgvecto.rs image to the bookworm-based VectorChord one.
2026-10-24 02:02:02 +02:00
Ruben Hensen 60ff978b1b immich: stop the server for the database migration
The database moves from PostgreSQL 14 with pgvecto.rs to a new PostgreSQL 17 cluster with VectorChord. Immich 3 no longer supports pgvecto.rs, and PostgreSQL 14 reaches end of life on 2026-11-12.
2026-10-24 00:18:28 +02:00
Ruben Hensen 1f04831a97 Replace the Ingresses with Certificate resources
ingress-nginx is gone and every app is served by the Envoy Gateway. The certificates were created by cert-manager's ingress-shim and are owned by the Ingresses, so each app now declares its Certificate itself, with the same name, secret and usages, so nothing gets reissued. gateway-shim can't take over because the certificates live in the app namespaces.

immich drops mbg.hensen.io, which has no route, so that one certificate is reissued through the Gateway's HTTP-01 solver.

Also removes the Longhorn test-port redirect URI and updates comments that still described nginx.
2026-10-23 21:20:25 +02:00
Ruben Hensen 69a0661d09 Add HTTPRoutes for the apps behind ingress-nginx
Each app gets an HTTPS listener on the Gateway with its existing certificate, an HTTPRoute, and a ReferenceGrant for that certificate. The routes drop Envoy's 15s request timeout, as nginx has no overall limit either. Argo CD and Longhorn follow separately; the Ingresses stay until the switch-over.
2026-10-23 17:39:04 +02:00
Ruben Hensen 7820b8e0bf immich: use a CA bundle without the compromised eMudhra roots
Mount patched-ca-bundle (see ca-bundle/) over /etc/ssl/certs so it stops trusting the compromised eMudhra intermediates (https://emudhra.we-have-a-problem.com). The server gets --use-openssl-ca for Node, machine-learning points requests at the bundle instead of certifi.
2026-10-22 09:13:02 +02:00
Ruben Hensen faaf6b6729 Remove most hensen.io refs and move from stalwart.rubenhensen.nl to mail.rubenhensen.nl 2026-04-06 18:09:24 +02:00
Ruben Hensen 507c42cf7f Immich: Remove mbg.hensen.io 2026-01-25 16:36:03 +01:00
Ruben Hensen 3e4c98842b Add identifier svc to ingress 2026-01-21 18:20:09 +01:00
Ruben Hensen 24595a4338 Upgrade to chart 0.10.3 2026-01-21 18:16:25 +01:00
Ruben Hensen 5659c4883b update to v2.4.1 2026-01-21 17:41:31 +01:00
Ruben Hensen 002b5da24c Let mbg.hensen.io bypass sol_auth 2026-01-21 17:36:21 +01:00
Ruben Hensen 153534a3bc Upgrade immich to 1.132.3 2026-01-21 17:28:40 +01:00
Ruben Hensen 0ad4f24b91 Upgrade immich to 1.132.2 2026-01-21 17:27:04 +01:00
Ruben Hensen a55366a6c1 Change helm-immich 2026-01-21 17:20:18 +01:00
Ruben Hensen 20d1e31115 Reset to chart 0.8.5 with CNPG and pgvecto.rs 0.2.1 2026-01-21 16:55:03 +01:00
Ruben Hensen 5fbab618ab Change to v1.132.3 2026-01-21 16:46:48 +01:00
Ruben Hensen 146ab7734d Change path service 2026-01-21 16:42:54 +01:00
Ruben Hensen 9f63508c4e Change values.yaml to v2.0.0 2026-01-21 16:39:08 +01:00
Ruben Hensen 7d7b90722f Change values.yaml to v2.0.0 2026-01-21 16:31:42 +01:00
Ruben Hensen 0ebea7d328 Change values.yaml to 1.136.0 2026-01-21 16:28:07 +01:00
Ruben Hensen 3640cb2042 Change values.yaml to 1.136.0 2026-01-21 16:27:01 +01:00
Ruben Hensen 11e353df5c Change values.yaml immich 2026-01-21 16:18:44 +01:00
Ruben Hensen e0058c1415 Edit helm immich values 2026-01-21 16:05:18 +01:00
Ruben Hensen aa2087ecd2 Go back to 125.7 2026-01-21 15:47:36 +01:00
Ruben Hensen 9d3c81de67 Fix duplicate PVC mount - disable data volume, use only library at /usr/src/app/upload 2026-01-21 15:44:04 +01:00
Ruben Hensen de8af9f3b9 Add library persistence to server and ML components at /usr/src/app/upload 2026-01-21 02:12:55 +01:00
Ruben Hensen c67dc4bb57 Mount library at /usr/src/app/upload for v1.125.7 compatibility 2026-01-21 02:09:06 +01:00
Ruben Hensen e555135d68 Set IMMICH_MEDIA_LOCATION for new chart 2026-01-21 02:05:10 +01:00
Ruben Hensen 88c7cc919f Go back to 125 2026-01-21 01:56:29 +01:00
Ruben Hensen 2c02e84dc7 Go back to 127 2026-01-21 01:55:24 +01:00
Ruben Hensen 960456df5f Step 1: Upgrade to v1.132.3 for TypeORM migration 2026-01-21 01:29:31 +01:00
Ruben Hensen 247e4b3bdd Use pgvecto.rs v0.3.0 for Immich compatibility 2026-01-21 01:19:58 +01:00
Ruben Hensen d4257e0841 Update chart and add valkey, config new cnpg 2026-01-21 01:14:12 +01:00
Ruben Hensen ba033480a7 Use pg 14 image 2026-01-21 00:22:00 +01:00
Ruben Hensen 7535bd2be2 Use CNPG-compatible pgvecto.rs image 2026-01-21 00:21:08 +01:00
Ruben Hensen a94983f816 Add cnpg to immich 2026-01-21 00:16:07 +01:00
Ruben Hensen 70a83ed860 Revert "Update helm chart to 0.9.3"
This reverts commit f7ed49a408.
2026-01-20 23:25:43 +01:00