diff options
| author | Robert Günzler <r@gnzler.io> | 2026-02-23 14:26:40 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2026-02-23 14:26:40 +0100 |
| commit | 36fc6edc20b4f3f204f136de33a276934203929c (patch) | |
| tree | e6ff4a2077a94b12cdae42f28d1c432d8bf8929b /bundles/immich | |
| parent | dbbc98cb1da7ba305d6bf76ddb065b1e461e2d90 (diff) | |
immich: *
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/immich')
| -rw-r--r-- | bundles/immich/files/kube.yaml | 43 | ||||
| -rw-r--r-- | bundles/immich/metadata.py | 17 |
2 files changed, 42 insertions, 18 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 diff --git a/bundles/immich/metadata.py b/bundles/immich/metadata.py index 30b9eb3..7bb5d0b 100644 --- a/bundles/immich/metadata.py +++ b/bundles/immich/metadata.py @@ -6,14 +6,23 @@ defaults = { "/var/lib/immich/app/profile", "/var/lib/immich/app/upload", # "/media/hayasui/media/pictures", - } + }, + "excludes": { + "/var/lib/immich/app/encoded-video", + "/var/lib/immich/app/thumbs", + }, }, "containers": { "immich": { "version": "2.4.1", }, }, - # "metrics": { - # "immich": {}, - # }, + "metrics": { + "immich-api": {}, + "immich-svc": {}, + }, + "go": { + "immich": "https://photos.gzr.im", + "photos": "https://photos.gzr.im", + }, } |