-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
114 lines (105 loc) · 2.64 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
version: "3"
# All available services
services:
# Computation
jupyter:
container_name: "most_jupyter"
restart: "always"
build: services/jupyter
env_file:
- ./config/jupyter.env
- ./config/minio.env
- ./config/shared_database.env
volumes:
- ./shared/notebooks/:/home/jovyan/work/notebooks
- ./shared/dags/:/home/jovyan/work/dags
- ./shared/datasets/:/home/jovyan/work/datasets
- ./services/apistar/api/:/home/jovyan/work/api
ports:
- 8888:8888
entrypoint: sh -c 'start-notebook.sh --NotebookApp.token=$$JUPYTER_PASSWORD'
# Visualization
superset:
container_name: "most_superset"
restart: "always"
image: tylerfowler/superset:0.24
depends_on:
- postgres
env_file:
- ./config/superset_container.env
- ./config/superset_database.env
ports:
- 8088:8088
# Misc Storage
postgres:
container_name: "most_postgres"
restart: "always"
image: postgres
env_file:
- ./config/postgres.env
- ./config/superset_database.env
- ./config/airflow_database.env
- ./config/shared_database.env
volumes:
- postgres_volume:/var/lib/postgresql/data/
- ./services/postgres/:/docker-entrypoint-initdb.d/
ports:
- 5432:5432
# Scheduling
airflow:
container_name: "most_airflow"
restart: "always"
image: puckel/docker-airflow:1.9.0-2
depends_on:
- postgres
env_file:
- ./config/airflow_container.env
- ./config/minio.env
- ./config/shared_database.env
volumes:
- ./shared/requirements.txt:/requirements.txt
- ./shared/dags/:/usr/local/airflow/dags
- ./shared/datasets/:/usr/local/airflow/datasets
ports:
- 8080:8080
command: webserver
# Model Storage
minio:
container_name: "most_minio"
restart: "always"
image: minio/minio
env_file:
- ./config/minio.env
volumes:
- minio_volume:/data
ports:
- 9000:9000
command: server /data
# API
apistar:
container_name: "most_apistar"
restart: "always"
build: services/apistar
env_file:
- ./config/minio.env
volumes:
- ./services/apistar/api:/usr/src/app
ports:
- 8000:8000
command: gunicorn app:app -b 0.0.0.0:8000
# Admin Overview
portainer:
container_name: "most_portainer"
restart: "always"
image: portainer/portainer
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_volume:/data
ports:
- 9090:9000
command: -H unix:///var/run/docker.sock
# Volumes to persist data
volumes:
postgres_volume:
minio_volume:
portainer_volume: