x-dagster-env: &dagster_env TZ: Europe/Amsterdam 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} x-email-env: &email_env SMTP_SERVER: ${SMTP_SERVER} SMTP_PORT: ${SMTP_PORT} SMTP_USERNAME: ${SMTP_USERNAME} SMTP_PASSWORD: ${SMTP_PASSWORD} SENDER_EMAIL: ${SENDER_EMAIL} RECEIVER_EMAIL: ${RECEIVER_EMAIL} 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. dagster-code-vinyl: build: context: apps/vinyl dockerfile: ../../Dockerfile.code args: - APP=vinyl container_name: dagster-code-vinyl image: dagster-code-vinyl restart: always environment: <<: [ *dagster_env, *email_env ] DAGSTER_CURRENT_IMAGE: dagster-code-vinyl volumes: - /opt/dagster/apps/:/code/apps/:ro - /opt/dagster/shared/:/code/shared/:ro - /opt/dagster/logs/:/logs:rw # - /mnt/mezzo/scratch/dagster/import/:/storage/import/:ro - /mnt/mezzo/scratch/dagster/deals/:/storage/deals/:rw networks: - dagster dagster-code-stocks: build: context: apps/stocks dockerfile: ../../Dockerfile.code args: - APP=stocks container_name: dagster-code-stocks image: dagster-code-stocks restart: always environment: <<: [ *dagster_env ] DAGSTER_CURRENT_IMAGE: dagster-code-stocks volumes: - /tmp/cache:/cache:rw - /opt/dagster/apps/:/code/apps/:ro - /opt/dagster/shared/:/code/shared/:ro - /opt/dagster/logs/:/logs:rw - /tmp/cache:/cache:rw networks: - dagster dagster-code-stocks-playwright: build: context: apps/stocks dockerfile: Dockerfile.code.playwright args: - APP=stocks image: dagster-code-stocks-playwright profiles: [ "never" ] dagster-code-backup-base: build: context: apps/backup dockerfile: ../../Dockerfile.code args: - APP=backup image: dagster-code-backup-base profiles: [ "never" ] dagster-code-tesla: build: context: apps/tesla dockerfile: ../../Dockerfile.code args: - APP=tesla container_name: dagster-code-tesla image: dagster-code-tesla restart: always environment: <<: [ *dagster_env ] DAGSTER_CURRENT_IMAGE: dagster-code-tesla volumes: - /opt/dagster/apps/:/code/apps/:ro - /opt/dagster/shared/:/code/shared/:ro - /opt/dagster/logs/:/logs:rw networks: - dagster dagster-code-weather: build: context: apps/weather dockerfile: ../../Dockerfile.code args: - APP=weather container_name: dagster-code-weather image: dagster-code-weather restart: always environment: <<: [ *dagster_env ] DAGSTER_CURRENT_IMAGE: dagster-code-weather volumes: - /opt/dagster/apps/:/code/apps/:ro - /opt/dagster/shared/:/code/shared/:ro - /opt/dagster/logs/:/logs:rw networks: - dagster dagster-code-backup: build: context: apps/backup container_name: dagster-code-backup image: dagster-code-backup restart: always environment: <<: [ *dagster_env ] DAGSTER_CURRENT_IMAGE: dagster-code-backup volumes: - /opt/dagster/apps/:/code/apps/:ro - /opt/dagster/shared/:/code/shared/:ro - /opt/dagster/logs/:/logs:rw networks: - dagster dagster-code-other: build: context: apps/other dockerfile: ../../Dockerfile.code args: - APP=other container_name: dagster-code-other image: dagster-code-other restart: always environment: <<: [ *dagster_env ] DAGSTER_CURRENT_IMAGE: dagster-code-other volumes: - /opt/dagster/apps/:/code/apps/:ro - /opt/dagster/shared/:/code/shared/:ro - /opt/dagster/logs/:/logs:rw networks: - dagster