-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.yml
119 lines (117 loc) · 2.6 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
version: "3.9"
services:
db:
image: postgres
volumes:
- ./postgres:/docker-entrypoint-initdb.d
environment:
- POSTGRES_DB=postgres
- POSTGRES_MULTIPLE_DATABASES=superset
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
metabase:
image: metabase/metabase
ports:
- 3001:3000
env_file:
- metabase.env
depends_on:
db:
condition: service_healthy
minio:
image: minio/minio
hostname: "minio"
volumes:
- ./minio/minio_files:/minio_files
env_file:
- minio.env
command: "minio server /minio_files --console-address \":9001\""
ports:
- 9000:9000
- 9001:9001
healthcheck:
test: "curl -I --fail --max-time 10 http://localhost:9000/minio/health/live"
start_period: 5s
interval: 5s
timeout: 5s
retries: 3
api:
build: ./django
command: >
sh -c "python manage.py migrate &&
python manage.py runserver 0.0.0.0:8000"
env_file:
- keycloak.env
- minio.env
- decoder.env
environment:
- ALLOWED_HOSTS=localhost
- CORS_ORIGIN_ALLOW_ALL=False
- CORS_ORIGIN_WHITELIST=http://localhost:3000
- DB_ENGINE=django.db.backends.postgresql
- DB_HOST=db
- DB_NAME=postgres
- DB_PASSWORD=postgres
- DB_PORT=5432
- DB_USER=postgres
- LOCAL_DEV=True
volumes:
- ./django:/api
ports:
- 8000:8000
healthcheck:
test: "curl --fail --max-time 5 http://localhost:8000/api/healthcheck"
start_period: 15s
interval: 15s
timeout: 10s
retries: 2
depends_on:
db:
condition: service_healthy
minio:
condition: service_healthy
workers:
build: ./django
command: >
sh -c "python manage.py qcluster"
env_file:
- minio.env
environment:
- DB_ENGINE=django.db.backends.postgresql
- DB_HOST=db
- DB_NAME=postgres
- DB_PASSWORD=postgres
- DB_PORT=5432
- DB_USER=postgres
- DJANGO_DEBUG=True
volumes:
- ./django:/api
depends_on:
api:
condition: service_healthy
web:
build: ./frontend
command: npm run start
volumes:
- ./frontend:/web
- /web/node_modules
ports:
- 3000:3000
spring:
build: ./spring
ports:
- "8080:8080"
environment:
- SERVER_PORT=8080
volumes:
- ./spring:/app
volumes:
superset_home:
external: false
redis:
external: false