-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
112 lines (106 loc) · 3.26 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
version: '3.7'
services:
web:
restart: unless-stopped
build:
context: backend/
args:
- PIP_REPOSITORY_INDEX_URL
- ALBORZ_RAW_REPOSITORY
- APT_PROXY
ports:
- $PORTMAPPING_WEB
command: "./run.sh"
image: "${DOCKER_REGISTRY}/nemo-web:$NEMO_VERSION"
depends_on:
- message_broker
- database
volumes:
- backend_static_volume:/nemo/backend/static/
- /var/log/nemo/gunicorn/:/var/log/nemo/gunicorn/
- /var/log/nemo/django/:/var/log/nemo/django/
- /var/log/nemo/celery/:/var/log/nemo/celery/
- /var/log/nemo/celery_beat/:/var/log/nemo/celery_beat/
- /mnt/nemo-data/evaluation-logs/:/nemo/backend/media/evaluation-report-logs/
- /mnt/nemo-data/dory-evaluation-results/:/nemo/backend/media/dory-evaluation-results/
# All custom certificates will be installed with update-ca-certificates when Nemo starts
- ${CUSTOM_CERTIFICATES_DIR}:/usr/local/share/ca-certificates/
- /opt/nemo/file-based-cache/:/opt/nemo/file-based-cache/
environment:
- NEMO_BASE_URL
- WAIT_HOSTS=database:5432, message_broker:5672
- WAIT_HOSTS_TIMEOUT=120
- WAIT_AFTER_HOSTS=1 # Postgresql takes some time to be ready after it's port being opened.
- NEMO_DB_HOST
- NEMO_DB_NAME
- NEMO_DB_USER
- NEMO_DB_PASSWORD
- NEMO_DJANGO_SECRET_KEY
- SENTRY_REPORTER_ENABLED
- SENTRY_DSN=${SENTRY_DSN_BACKEND}
- EMAIL_ENABLED
- EMAIL_HOST
- EMAIL_USE_TLS
- EMAIL_PORT
- EMAIL_HOST_USER
- EMAIL_HOST_PASSWORD
- EMAIL_SENDER_DISPLAY_NAME
- NEMO_DJANGO_CORS_ALLOW_ALL
- NEMO_DJANGO_DEBUG
- NEMO_OIDC_ROOT_URL
- NEMO_OIDC_REALM
- NEMO_OIDC_CLIENT
- NEMO_OIDC_SECRET
database:
restart: unless-stopped
image: postgres:12.0
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD
- NEMO_DB_NAME=${NEMO_DB_NAME}
- NEMO_DB_USER=${NEMO_DB_USER}
- NEMO_DB_PASSWORD=${NEMO_DB_PASSWORD}
volumes:
- $VOLUME_MAPPING_DATABASE_INIT_SCRIPT
- $VOLUME_MAPPING_DATABASE
ports:
- $PORTMAPPING_DATABASE
nginx:
restart: unless-stopped
image: nginx:1.17.5-alpine
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- backend_static_volume:/nemo/backend/static/
- frontend_volume:/nemo/frontend/
- /var/log/nemo/nginx/:/var/log/nginx
ports:
- $PORTMAPPING_NGINX
depends_on:
- web
nginx-prometheus-exporter:
restart: unless-stopped
image: nginx/nginx-prometheus-exporter:0.8.0
depends_on:
- nginx
ports:
- $PORTMAPPING_NGINX_PROMATHEUS_EXPORTER
command: -nginx.scrape-uri http://nginx/stub_status
frontend:
build:
context: frontend/
image: "${DOCKER_REGISTRY}/nemo-frontend:$NEMO_VERSION"
environment:
- API_URL=${NEMO_BASE_URL}
- SENTRY_DSN=${SENTRY_DSN_FRONTEND}
- NEMO_VERSION
volumes:
- frontend_volume:/nemo/frontend/
message_broker:
restart: unless-stopped
image: rabbitmq:3.8.2
environment:
- RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit log [{console,[{level,error}]}]
# Todo: Add file logger and persist data
volumes:
backend_static_volume:
frontend_volume: