name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:v2 command: ['start.sh', 'immich'] ports: - 2283:2283 environment: UPLOAD_LOCATION: /usr/src/app/upload DB_HOSTNAME: postgres DB_USERNAME: postgres DB_PASSWORD: postgres DB_DATABASE_NAME: immich REDIS_HOSTNAME: redis DB_PORT: 5432 volumes: - uploads:/usr/src/app/upload depends_on: postgres: condition: service_started redis: condition: service_started healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:2283/api/server/ping'] interval: 30s timeout: 10s retries: 5 start_period: 30s restart: unless-stopped postgres: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg16-v0.3.0 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: immich volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ['CMD-SHELL', 'pg_isready -U postgres -d immich'] interval: 10s timeout: 5s retries: 5 start_period: 10s restart: unless-stopped redis: container_name: immich_redis image: redis:7-alpine healthcheck: test: ['CMD', 'redis-cli', 'ping'] interval: 10s timeout: 5s retries: 5 start_period: 5s restart: unless-stopped volumes: uploads: pgdata: