about summary refs log tree commit diff
path: root/bundles/immich/files
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-02-23 14:26:40 +0100
committerRobert Günzler <r@gnzler.io>2026-02-23 14:26:40 +0100
commit36fc6edc20b4f3f204f136de33a276934203929c (patch)
treee6ff4a2077a94b12cdae42f28d1c432d8bf8929b /bundles/immich/files
parentdbbc98cb1da7ba305d6bf76ddb065b1e461e2d90 (diff)
immich: *
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/immich/files')
-rw-r--r--bundles/immich/files/kube.yaml43
1 files changed, 29 insertions, 14 deletions
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