-
Notifications
You must be signed in to change notification settings - Fork 3
/
docker-compose.yml
149 lines (136 loc) · 2.97 KB
/
docker-compose.yml
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
142
143
144
145
146
147
148
149
volumes:
ami_local_postgres_data: {}
ami_local_postgres_data_backups:
driver: local
driver_opts:
type: none
device: ./data/db/snapshots
o: bind
minio_data:
driver: local
node_modules:
services:
django: &django
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: ami_local_django
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- postgres
- redis
- minio-init
- ml_backend
volumes:
- .:/app:z
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
- path: .env
required: false
ports:
- "8000:8000"
command: /start
postgres:
build:
context: .
dockerfile: ./compose/local/postgres/Dockerfile
ports:
- "5444:5432"
volumes:
- ami_local_postgres_data:/var/lib/postgresql/data
- ami_local_postgres_data_backups:/backups
env_file:
- ./.envs/.local/.postgres
ui:
image: ami_local_ui
build:
context: ./ui
dockerfile: ../compose/local/ui/Dockerfile
ports:
- "4000:4000"
volumes:
- ./.git:/app/.git:ro
- ./ui:/app
- node_modules:/app/node_modules
depends_on:
- django
environment:
- CHOKIDAR_USEPOLLING=true
- API_PROXY_TARGET=http://django:8000
docs:
image: ami_local_docs
build:
context: .
dockerfile: ./compose/local/docs/Dockerfile
env_file:
- ./.envs/.local/.django
volumes:
- ./docs:/docs:z
- ./config:/app/config:z
- ./ami:/app/ami:z
ports:
- "9025:9000"
command: /start-docs
redis:
image: redis:6
container_name: ami_local_redis
celeryworker:
<<: *django
image: ami_local_celeryworker
scale: 1
ports: []
command: /start-celeryworker
celerybeat:
<<: *django
image: ami_local_celerybeat
ports: []
command: /start-celerybeat
flower:
<<: *django
image: ami_local_flower
ports:
- "5555:5555"
command: /start-flower
minio:
image: minio/minio:latest
command: minio server --console-address ":9001" /data
volumes:
- "minio_data:/data"
env_file:
- ./.envs/.local/.django
environment:
- CONSOLE_SECURE_TLS_REDIRECT=off
ports:
- "9001:9001"
healthcheck:
test: [ "CMD", "mc", "ready", "local" ]
interval: 5s
timeout: 5s
retries: 5
minio-proxy:
image: nginx:alpine
ports:
- "9000:9000"
volumes:
- ./compose/local/minio/nginx.conf:/etc/nginx/nginx.conf
depends_on:
- minio
minio-init:
image: minio/mc
env_file:
- ./.envs/.local/.django
depends_on:
- minio
- minio-proxy
volumes:
- ./compose/local/minio/init.sh:/etc/minio/init.sh
entrypoint: /etc/minio/init.sh
ml_backend:
build:
context: ./ml_backends/example
volumes:
- ./ml_backends/example/:/app:ml_backend
ports:
- "2005:2000"