services: immich-server: image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} container_name: immich-server restart: unless-stopped ports: - "127.0.0.1:2283:2283" volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /volume1/photo:/mnt/photo:ro - /volume1/homes/zjgump/Photos:/mnt/synology-photos:ro - /etc/localtime:/etc/localtime:ro environment: DB_HOSTNAME: immich-db DB_USERNAME: ${DB_USERNAME} DB_PASSWORD: ${DB_PASSWORD} DB_DATABASE_NAME: ${DB_DATABASE_NAME} REDIS_HOSTNAME: immich-redis IMMICH_MACHINE_LEARNING_ENABLED: "false" healthcheck: test: ["CMD", "wget", "-q", "--spider", "http://localhost:2283/api/server/ping"] interval: 30s timeout: 5s retries: 3 depends_on: - immich-redis - immich-db networks: - immich logging: driver: json-file options: max-size: "10m" max-file: "3" immich-redis: image: redis:7-alpine container_name: immich-redis restart: unless-stopped healthcheck: test: redis-cli ping || exit 1 networks: - immich logging: driver: json-file options: max-size: "10m" max-file: "3" immich-db: image: tensorchord/pgvecto-rs:pg16-v0.2.0 container_name: immich-db restart: unless-stopped environment: POSTGRES_USER: ${DB_USERNAME} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: "--data-checksums" volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data healthcheck: test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1 interval: 30s timeout: 5s retries: 5 networks: - immich logging: driver: json-file options: max-size: "10m" max-file: "3" networks: immich: