1
1
name : dagster
2
2
3
+ # Postgres variables, used in both the postgres container for configuration,
4
+ # and in the dagster services for connecting to the postgres container.
5
+ # The variable names are the same in both thanks to the dagster.yaml
6
+ # configuration file specifying such.
3
7
x-postgres-variables : &postgres-variables
4
8
POSTGRES_USER : ${POSTGRES_USER:-dagster_user}
5
9
POSTGRES_PASSWORD : ${POSTGRES_PASSWORD:-dagster_password}
6
- POSTGRES_DB : ${POSTGRES_DB:- dagster_db}
10
+ POSTGRES_DB : dagster_db
7
11
POSTGRES_HOST : " dagster-postgres"
8
12
9
13
x-dagster-configs : &dagster-configs
@@ -15,8 +19,7 @@ x-dagster-configs: &dagster-configs
15
19
16
20
services :
17
21
# This service runs the postgres DB used by dagster for run storage, schedule storage,
18
- # and event log storage. Depending on the hardware you run this Compose on, you may be able
19
- # to reduce the interval and timeout in the healthcheck to speed up your `docker-compose up` times.
22
+ # and event log storage.
20
23
dagster-postgres :
21
24
image : postgres:16
22
25
container_name : dagster-postgres
@@ -37,8 +40,9 @@ services:
37
40
# run launcher to use this same image when launching runs in a new container as well.
38
41
dagster-codeserver :
39
42
container_name : dagster-codeserver
40
- image : ghcr.io/openclimatefix/dagster-dags:devsjc-code-container
43
+ image : ghcr.io/openclimatefix/dagster-dags:latest
41
44
restart : always
45
+ pull_policy : always
42
46
environment :
43
47
<< : *postgres-variables
44
48
DAGSTER_CURRENT_IMAGE : " ghcr.io/openclimatefix/dagster-dags"
@@ -53,6 +57,8 @@ services:
53
57
container_name : dagster-webserver
54
58
image : dagster/dagster-k8s:latest
55
59
command : ["dagster-webserver", "-h", "0.0.0.0", "-p", "3008", "-w", "/opt/dagster/home/workspace.yaml"]
60
+ post_start :
61
+ - command : ["pip", "install", "dagster-docker"] # Required for using dagster_docker Pipes
56
62
ports :
57
63
- " 3008:3008"
58
64
environment :
@@ -67,7 +73,7 @@ services:
67
73
depends_on :
68
74
dagster-postgres :
69
75
condition : service_healthy
70
- dagster-codeserver_local-archives :
76
+ dagster-codeserver :
71
77
condition : service_started
72
78
73
79
# This service runs the dagster-daemon process, which is responsible for taking runs
@@ -76,6 +82,8 @@ services:
76
82
container_name : dagster-daemon
77
83
image : dagster/dagster-k8s:latest
78
84
command : ["dagster-daemon", "run", "-w", "/opt/dagster/home/workspace.yaml"]
85
+ post_start :
86
+ - command : ["pip", "install", "dagster-docker"] # Required for using dagster_docker Pipes
79
87
restart : on-failure
80
88
environment :
81
89
<< : *postgres-variables
@@ -89,7 +97,7 @@ services:
89
97
depends_on :
90
98
dagster-postgres :
91
99
condition : service_healthy
92
- dagster-codeserver_local-archives :
100
+ dagster-codeserver :
93
101
condition : service_started
94
102
95
103
networks :
@@ -118,35 +126,48 @@ configs:
118
126
postgres_db:
119
127
username: {"env": "POSTGRES_USER"}
120
128
password: {"env": "POSTGRES_PASSWORD"}
121
- hostname: {"env": "POSTGRES_HOST"}
122
- db_name: {"env": "POSTGRES_DB"}
129
+ hostname: dagster-postgres
130
+ db_name: dagster_db
123
131
port: 5432
124
132
125
133
local_artifact_storage:
126
134
module: dagster.core.storage.root
127
135
class: LocalArtifactStorage
128
136
config:
129
- base_dir: "/opt/dagster/local/ "
137
+ base_dir: "/opt/dagster/local"
130
138
131
139
run_coordinator:
132
140
module: dagster.core.run_coordinator
133
141
class: QueuedRunCoordinator
134
142
config:
135
- max_concurrent_runs: 30
143
+ max_concurrent_runs: 15
136
144
tag_concurrency_limits:
137
145
- key: "dagster/backfill"
138
- limit: 15
146
+ limit: 10
139
147
- key: "nwp-consumer"
140
- limit: 1
148
+ limit: 5
141
149
142
150
run_launcher:
143
151
module: dagster_docker
144
152
class: DockerRunLauncher
145
153
config:
146
- env_vars:
147
- - POSTGRES_USER
148
- - POSTGRES_PASSWORD
149
- - POSTGRES_DB
154
+ network: dagster-network
155
+ env_vars:
156
+ - ENVIRONMENT=leo
157
+ - ECMWF_API_KEY=<YOUR_API_KEY>
158
+ - ECMWF_URL=<YOUR_URL>
159
+ - ECMWF_EMAIL=<YOUR_EMAIL>
160
+ - EUMETSAT_CONSUMER_KEY=<YOUR_CONSUMER_KEY>
161
+ - EUMETSAT_CONSUMER_SECRET=<YOUR_CONSUMER_SECRET>
162
+ - CEDA_FTP_USER=<YOUR_USERNAME>
163
+ - CEDA_FTP_PASS=<YOUR_PASSWORD>
164
+ - HUGGINGFACE_TOKEN=<YOUR_HF_TOKEN>
165
+ - SS_USER_ID=<YOUR_USERID>
166
+ - SS_API_KEY=<YOUR_API_KEY>
167
+ container_kwargs:
168
+ volumes:
169
+ - /var/run/docker.sock:/var/run/docker.sock # So jobs can launch docker pipes assets
170
+ - <YOUR_STORAGE_PATH>:/opt/dagster/local
150
171
151
172
retention:
152
173
schedule:
0 commit comments