forked from learningequality/studio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
97 lines (86 loc) · 2.33 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
version: '3.4'
x-studio-environment:
&studio-environment
MPLBACKEND: ps
SHELL: /bin/bash
AWS_S3_ENDPOINT_URL: http://minio:9000
DATA_DB_HOST: postgres
DJANGO_SETTINGS_MODULE: contentcuration.dev_settings
RUN_MODE: docker-compose
CELERY_TIMEZONE: America/Los_Angeles
CELERY_REDIS_DB: 0
CELERY_BROKER_ENDPOINT: redis
CELERY_RESULT_BACKEND_ENDPOINT: redis
CELERY_REDIS_PASSWORD: ""
PROBER_STUDIO_BASE_URL: http://studio-app:8080/{path}
x-studio-worker:
&studio-worker
build:
context: .
dockerfile: docker/Dockerfile.dev
image: learningequality/studio-app-dev
depends_on:
- minio
- postgres
- redis
volumes:
- .:/src
environment: *studio-environment
services:
studio-nginx:
platform: linux/amd64
build:
context: .
dockerfile: k8s/images/nginx/Dockerfile
ports:
- "8081:8080"
depends_on:
- studio-app
environment: *studio-environment
studio-app:
<<: *studio-worker
entrypoint: python docker/entrypoint.py
command: yarn run devserver
ports:
- "8080:8080"
- "4000:4000"
celery-worker:
<<: *studio-worker
command: make prodceleryworkers
minio:
image: minio/minio:RELEASE.2020-06-22T03-12-50Z
entrypoint: minio server /data
environment:
MINIO_ACCESS_KEY: development
MINIO_SECRET_KEY: development
MINIO_API_CORS_ALLOW_ORIGIN: 'http://localhost:8080,http://127.0.0.1:8080'
volumes:
- .docker/minio:/data
postgres:
image: ghcr.io/learningequality/postgres
build:
context: ./docker
dockerfile: Dockerfile.postgres.dev
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_USER: learningequality
POSTGRES_PASSWORD: kolibri
POSTGRES_DB: kolibri-studio
volumes:
- pgdata:/var/lib/postgresql/data/pgdata
- .docker/postgres:/docker-entrypoint-initdb.d
redis:
image: redis:6.0.9
cloudprober:
<<: *studio-worker
working_dir: /src/deploy
entrypoint: ""
# sleep 30 seconds allowing some time for the studio app to start up
command: '/bin/bash -c "sleep 30 && /bin/cloudprober --config_file ./cloudprober.cfg"'
# wait until the main app and celery worker have started
depends_on:
- studio-app
- celery-worker
volumes:
minio_data:
pgdata: