apiVersion: v1 kind: Pod metadata: name: immich labels: traefik.enable: true traefik.http.routers.immich.tls: true traefik.http.routers.immich.tls.certresolver: le traefik.http.routers.immich.entrypoints: http,https traefik.http.routers.immich.rule: Host(`photos.gzr.im`) traefik.http.routers.immich.service: immich traefik.http.routers.immich.middlewares: tls-redirect@file traefik.http.services.immich.loadbalancer.server.port: 2283 # 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 containers: - name: immich image: ghcr.io/immich-app/immich-server:v${version} envFrom: - secretRef: name: immich env: - name: IMMICH_CONFIG_FILE value: /immich.yaml - name: IMMICH_TELEMETRY_INCLUDE value: all ports: - containerPort: 2283 protocol: TCP # 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 - name: data mountPath: /usr/src/app/upload - name: media mountPath: /media readOnly: true resources: requests: podman.io/device=/dev/dri/card0: 1 podman.io/device=/dev/dri/renderD128: 1 limits: # drop limit here, ive seen the container crash with oom # memory: 512Mi - name: redis image: docker.io/valkey/valkey:9 livenessProbe: exec: command: ["sh", "-c", "redis-cli ping || exit 1"] - name: postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0 envFrom: - secretRef: name: immich env: - name: POSTGRES_INITDB_ARGS value: --data-checksums volumeMounts: - name: pg-data mountPath: /var/lib/postgresql/data volumes: - name: config hostPath: path: /var/lib/immich/immich.yaml type: File - name: data hostPath: path: /var/lib/immich/app type: DirectoryOrCreate - name: pg-data hostPath: path: /var/lib/immich/db type: DirectoryOrCreate - name: media hostPath: path: /media/hayasui/media type: Directory