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.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 spec: restartPolicy: Always dnsPolicy: Default containers: - name: immich image: ghcr.io/immich-app/immich-server:v1.140.1 envFrom: - secretRef: name: immich env: - name: IMMICH_CONFIG_FILE value: /immich.yaml ports: - containerPort: 2283 protocol: TCP # NOTE: required to make tv app work hostPort: 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: #cpu: 300m #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: - secretRef: name: immich env: - name: POSTGRES_INITDB_ARGS value: --data-checksums volumeMounts: - name: pg-data 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: - docker-entrypoint.sh - -c - shared_preload_libraries=vectors.so - -c - search_path="$$user", public, vectors - -c - logging_collector=on - -c - max_wal_size=2GB - -c - shared_buffers=512MB - -c - wal_compression=on 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