From 36fc6edc20b4f3f204f136de33a276934203929c Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Mon, 23 Feb 2026 14:26:40 +0100 Subject: immich: * MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- bundles/immich/files/kube.yaml | 43 ++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) (limited to 'bundles/immich/files') diff --git a/bundles/immich/files/kube.yaml b/bundles/immich/files/kube.yaml index 18f5cf6..12b7c3b 100644 --- a/bundles/immich/files/kube.yaml +++ b/bundles/immich/files/kube.yaml @@ -11,13 +11,19 @@ metadata: traefik.http.routers.immich.service: immich traefik.http.services.immich.loadbalancer.server.port: 2283 - # TODO: https://immich.app/docs/features/monitoring - # https://github.com/immich-app/immich/blob/v1.121.0/docker/prometheus.yml - # # metrics - # traefik.http.routers.immich-metrics.entrypoints: metrics - # traefik.http.routers.immich-metrics.rule: Path(`/metrics/immich`) - # traefik.http.routers.immich-metrics.middlewares: replacepath-metrics + # https://immich.app/docs/features/monitoring + # https://github.com/immich-app/immich/blob/v1.121.0/docker/prometheus.yml + traefik.http.services.immich-api-metrics.loadbalancer.server.port: 8081 + traefik.http.services.immich-svc-metrics.loadbalancer.server.port: 8082 + traefik.http.routers.immich-api-metrics.entrypoints: metrics + traefik.http.routers.immich-api-metrics.rule: Path(`/metrics/immich-api`) + traefik.http.routers.immich-api-metrics.middlewares: replacepath-metrics@file + traefik.http.routers.immich-api-metrics.service: immich-api-metrics + traefik.http.routers.immich-svc-metrics.entrypoints: metrics + traefik.http.routers.immich-svc-metrics.rule: Path(`/metrics/immich-svc`) + traefik.http.routers.immich-svc-metrics.middlewares: replacepath-metrics@file + traefik.http.routers.immich-svc-metrics.service: immich-svc-metrics spec: restartPolicy: Always dnsPolicy: Default @@ -30,11 +36,23 @@ spec: env: - name: IMMICH_CONFIG_FILE value: /immich.yaml + - name: IMMICH_TELEMETRY_INCLUDE + value: all ports: - containerPort: 2283 protocol: TCP - # NOTE: required to make tv app work + # NOTE: hostPort is required to make local net broadcasting work hostPort: 2283 + # api metrics + - containerPort: 8081 + protocol: TCP + # microservice metrics + - containerPort: 8082 + protocol: TCP + livenessProbe: + httpGet: + path: /api/server/ping + port: 2283 volumeMounts: - name: config mountPath: /immich.yaml @@ -48,13 +66,14 @@ spec: podman.io/device=/dev/dri/card0: 1 podman.io/device=/dev/dri/renderD128: 1 limits: - #cpu: 300m - #memory: 512Mi + memory: 512Mi + - name: redis image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8 livenessProbe: exec: command: ["sh", "-c", "redis-cli ping || exit 1"] + - name: postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 envFrom: @@ -68,11 +87,7 @@ spec: mountPath: /var/lib/postgresql/data livenessProbe: exec: - command: - - /bin/sh - - -c - - pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1 - # ; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1 + command: ["pg_isready", "--dbname='$DB_DATABASE_NAME'", "--username='$DB_USERNAME'"] command: - docker-entrypoint.sh - -c -- cgit 1.4.1