x-dagster-env: &dagster_env DAGSTER_POSTGRES_HOST: ${POSTGRES_HOST} DAGSTER_POSTGRES_PORT: ${POSTGRES_PORT} DAGSTER_POSTGRES_USER: ${POSTGRES_USER} DAGSTER_POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} DAGSTER_POSTGRES_DB: ${POSTGRES_DB} services: # This service runs the gRPC server that loads your user code, in both dagit # and dagster-daemon. By setting DAGSTER_CURRENT_IMAGE to its own image, we tell the # run launcher to use this same image when launching runs in a new container as well. # Multiple containers like this can be deployed separately - each just needs to run on # its own port, and have its own entry in the workspace.yaml file that's loaded by dagit. user_code_vinyl: build: context: apps/vinyl dockerfile: ../../Dockerfile.code args: - APP=vinyl container_name: user_code_vinyl image: user_code_vinyl restart: always environment: <<: *dagster_env DAGSTER_CURRENT_IMAGE: user_code_vinyl volumes: - /opt/dagster/apps/:/apps/:ro - /opt/dagster/storage/import/:/storage/import/:ro - /opt/dagster/storage/deals/:/storage/deals/:rw networks: - dagster user_code_other: # profiles: [ disabled ] build: context: apps/other dockerfile: ../../Dockerfile.code args: - APP=other container_name: user_code_other image: user_code_other restart: always environment: <<: *dagster_env DAGSTER_CURRENT_IMAGE: user_code_other volumes: - /opt/dagster/apps/:/apps:ro networks: - dagster