1
1
services :
2
- otel-collector :
3
- image : otel/opentelemetry-collector-contrib
4
- volumes :
5
- - ./otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml
6
-
7
- redis :
8
- image : redis
9
-
10
- dramatiq-worker :
11
- build :
12
- dockerfile : Dockerfile
13
- context : .
14
- target : dramatiq_app
15
- env_file : local.env
16
- environment :
17
- OTEL_SERVICE_NAME : " bootstrap-fastapi-dramatiq-worker"
18
- working_dir : " /app/src"
19
- volumes :
20
- - ' .:/app'
21
- depends_on :
22
- - redis
23
- - otel-collector
24
- command :
25
- - opentelemetry-instrument
26
- - dramatiq
27
- - --watch
28
- - .
29
- - -p
30
- - " 1"
31
- - -t
32
- - " 1"
33
- - dramatiq_worker
34
-
35
2
dev :
36
3
build :
37
4
dockerfile : Dockerfile
@@ -46,7 +13,7 @@ services:
46
13
volumes :
47
14
- ' .:/app'
48
15
depends_on :
49
- - redis
16
+ - dramatiq-worker
50
17
- otel-collector
51
18
command :
52
19
- opentelemetry-instrument
@@ -60,13 +27,14 @@ services:
60
27
# Remember to disable the reloader in order to allow otel instrumentation
61
28
- --reload
62
29
30
+ # Production image
63
31
http :
64
32
build :
65
33
dockerfile : Dockerfile
66
34
context : .
67
35
target : http_app
68
36
depends_on :
69
- - redis
37
+ - dramatiq-worker
70
38
- otel-collector
71
39
env_file : local.env
72
40
environment :
@@ -76,7 +44,46 @@ services:
76
44
volumes :
77
45
- ' ./src/sqlite.db:/app/sqlite.db'
78
46
79
- # Starting from here there are only single-run commands, we can use `make` here
47
+ # ########################
48
+ # ### Helper services ####
49
+ # ########################
50
+
51
+ otel-collector :
52
+ image : otel/opentelemetry-collector-contrib
53
+ volumes :
54
+ - ./otel-collector-config.yaml:/etc/otelcol-contrib/config.yaml
55
+
56
+ redis :
57
+ image : redis
58
+
59
+ dramatiq-worker :
60
+ build :
61
+ dockerfile : Dockerfile
62
+ context : .
63
+ target : dramatiq_app
64
+ env_file : local.env
65
+ environment :
66
+ OTEL_SERVICE_NAME : " bootstrap-fastapi-dramatiq-worker"
67
+ working_dir : " /app/src"
68
+ volumes :
69
+ - ' .:/app'
70
+ depends_on :
71
+ - redis
72
+ - otel-collector
73
+ command :
74
+ - opentelemetry-instrument
75
+ - dramatiq
76
+ - --watch
77
+ - .
78
+ - -p
79
+ - " 1"
80
+ - -t
81
+ - " 1"
82
+ - dramatiq_worker
83
+
84
+ # #########################
85
+ # ### One-off commands ####
86
+ # #########################
80
87
test :
81
88
build :
82
89
dockerfile : Dockerfile
0 commit comments