services: immich-server: image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-latest} container_name: immich-server volumes: - ${UPLOAD_LOCATION:-./immich_upload}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro environment: NODE_ENV: ${NODE_ENV:-production} DB_HOST: ${DB_HOST:-immich-database} DB_PORT: ${DB_PORT:-5432} DB_USERNAME: ${DB_USERNAME:-immich} DB_PASSWORD: ${DB_PASSWORD:-immich} DB_DATABASE_NAME: ${DB_DATABASE_NAME:-immich} REDIS_HOSTNAME: ${REDIS_HOSTNAME:-immich-redis} REDIS_PORT: ${REDIS_PORT:-6379} JWT_SECRET: ${JWT_SECRET:-changemeplease} expose: - 2283 depends_on: - immich-redis - immich-database restart: unless-stopped immich-machine-learning: image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} container_name: immich-ml volumes: - ${UPLOAD_LOCATION:-./immich_upload}:/usr/src/app/upload - model-cache:/cache environment: NODE_ENV: ${NODE_ENV:-production} restart: unless-stopped immich-redis: image: docker.io/valkey/valkey:${REDIS_VERSION:-8-bookworm} container_name: immich-redis restart: unless-stopped healthcheck: test: redis-cli ping || exit 1 immich-database: image: ghcr.io/immich-app/postgres:${POSTGRES_VERSION:-14-vectorchord0.3.0-pgvectors0.2.0} container_name: immich-database environment: POSTGRES_PASSWORD: ${DB_PASSWORD:-immich} POSTGRES_USER: ${DB_USERNAME:-immich} POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: '--data-checksums' PG_DATA: /var/lib/postgresql/data volumes: - ${DB_DATABASE_LOCATION:-./immich_db}:/var/lib/postgresql/data restart: unless-stopped volumes: model-cache: