services: immich-server: build: target: dev-container-server env_file: !reset [] hostname: immich-dev environment: - IMMICH_SERVER_URL=http://127.0.0.1:2283/ volumes: !override - ..:/workspaces/immich - cli_node_modules:/workspaces/immich/cli/node_modules - e2e_node_modules:/workspaces/immich/e2e/node_modules - open_api_node_modules:/workspaces/immich/open-api/typescript-sdk/node_modules - server_node_modules:/workspaces/immich/server/node_modules - web_node_modules:/workspaces/immich/web/node_modules - ${UPLOAD_LOCATION:-upload1-devcontainer-volume}${UPLOAD_LOCATION:+/photos}:/workspaces/immich/server/upload - ${UPLOAD_LOCATION:-upload2-devcontainer-volume}${UPLOAD_LOCATION:+/photos/upload}:/workspaces/immich/server/upload/upload - /etc/localtime:/etc/localtime:ro immich-web: env_file: !reset [] immich-machine-learning: env_file: !reset [] database: env_file: !reset [] environment: !override POSTGRES_PASSWORD: ${DB_PASSWORD-postgres} POSTGRES_USER: ${DB_USERNAME-postgres} POSTGRES_DB: ${DB_DATABASE_NAME-immich} POSTGRES_INITDB_ARGS: '--data-checksums' POSTGRES_HOST_AUTH_METHOD: md5 volumes: - ${UPLOAD_LOCATION:-postgres-devcontainer-volume}${UPLOAD_LOCATION:+/postgres}:/var/lib/postgresql/data redis: env_file: !reset [] volumes: # Node modules for each service to avoid conflicts and ensure consistent dependencies cli_node_modules: e2e_node_modules: open_api_node_modules: server_node_modules: web_node_modules: upload1-devcontainer-volume: upload2-devcontainer-volume: postgres-devcontainer-volume: