-
Notifications
You must be signed in to change notification settings - Fork 4
/
docker-compose.yaml
141 lines (129 loc) · 3.04 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
version: "3.4"
services:
postgres:
build:
context: .
dockerfile: ./compose/postgres/Dockerfile
image: mindlogger_postgres
container_name: mindlogger_postgres
environment:
POSTGRES_HOST: ${DATABASE__HOST}
POSTGRES_PORT: ${DATABASE__PORT}
POSTGRES_PASSWORD: ${DATABASE__PASSWORD}
POSTGRES_USER: ${DATABASE__USER}
POSTGRES_DB: ${DATABASE__DB}
ports:
- 5432:5432
volumes:
- pg_data:/var/lib/postgresql/data
rabbitmq:
image: rabbitmq:3-management
container_name: mindlogger_rabbitmq
ports:
- 5672:5672
- 15672:15672
redis:
image: redis
ports:
- 6379:6379
app:
stdin_open: true
tty: true
image: mindlogger_webapp
build:
context: .
dockerfile: ./compose/fastapi/Dockerfile
target: base
args:
- PIPENV_EXTRA_ARGS=--dev
container_name: mindlogger_app
entrypoint: /fastapi-entrypoint
command: /fastapi-start
env_file: .env
depends_on:
- postgres
- redis
- rabbitmq
- mailhog
ports:
- 8000:80
volumes:
- ./:/app/
- /tmp:/tmp
- ./uploads/:/app/uploads/
worker:
build:
context: .
dockerfile: ./compose/fastapi/Dockerfile
target: worker
args:
- PIPENV_EXTRA_ARGS=--dev
image: mindlogger_worker
container_name: mindlogger_worker
entrypoint: /fastapi-entrypoint
command: [ 'taskiq', 'worker', 'broker:broker', '-fsd' ]
env_file: .env
volumes:
- ./:/app/
depends_on:
- postgres
- redis
- rabbitmq
- mailhog
scheduler:
build:
context: .
dockerfile: ./compose/fastapi/Dockerfile
target: base
args:
- PIPENV_EXTRA_ARGS=--dev
image: mindlogger_webapp
container_name: mindlogger_scheduler
entrypoint: /fastapi-entrypoint
command: [ 'taskiq', 'scheduler', 'scheduler:scheduler', '-fsd' ]
env_file: .env
volumes:
- ./:/app/
depends_on:
- postgres
- redis
- rabbitmq
mailhog:
image: mailhog/mailhog:v1.0.0
container_name: mindlogger_mailhog
ports:
- 8025:8025
- 1025:1025
minio:
image: minio/minio
container_name: mindlogger_minio
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: minioaccess
MINIO_ROOT_PASSWORD: miniosecret
volumes:
- datastore:/data
command: server --console-address ":9001" /data
createbuckets:
image: minio/mc
container_name: mindlogger_minio_mc
environment:
CDN__BUCKET: "${CDN__BUCKET:-media}"
depends_on:
- minio
volumes:
- './compose/minio:/etc/minio'
entrypoint: /etc/minio/create_bucket.sh
opentelemetry:
container_name: mindlogger_opentelemetry
image: otel/opentelemetry-collector
command: ["--config=/etc/otel-collector-config.yaml"]
volumes:
- "./compose/opentelemetry/otel-collector-config.yaml:/etc/otel-collector-config.yaml"
ports:
- "4317:4317"
volumes:
pg_data: {}
datastore: {}