-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
119 lines (113 loc) · 4.65 KB
/
docker-compose.yml
File metadata and controls
119 lines (113 loc) · 4.65 KB
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'
services:
client:
build:
context: ./packages/client
dockerfile: ./Dockerfile-development
command: ['node_modules/.bin/coko-client-dev-js']
ports:
- ${CLIENT_PORT:-4000}:${CLIENT_PORT:-4000}
environment:
- NODE_ENV=development
- CLIENT_PORT=${CLIENT_PORT:-4000}
- CLIENT_FAST_REFRESH=1
- CLIENT_FAVICON_PATH=../static/favicon.ico
- CLIENT_PAGE_TITLE=${CLIENT_PAGE_TITLE:-"HHMI Assessment Builder"}
- CLIENT_LANGUAGE=${CLIENT_LANGUAGE:-"en-US"}
- SERVER_URL=${SERVER_URL:-http://localhost:3000}
volumes:
- ./packages/client/app:/home/node/app/app
- ./packages/client/static:/home/node/app/static
tty: true
server:
build:
context: ./packages/server
dockerfile: ./Dockerfile-development
depends_on:
- db
- filehosting
- createbucket
command: ['yarn', 'coko-server', 'start-dev']
ports:
- ${SERVER_PORT:-3000}:${SERVER_PORT:-3000}
environment:
- NODE_ENV=development
- POSTGRES_HOST=db
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
- POSTGRES_DB=${POSTGRES_DB:-hhmi_dev}
- POSTGRES_USER=${POSTGRES_USER:-hhmi_dev_user}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-hhmi_dev_user_password}
- SECRET=${SECRET:-superSecretThing}
- SERVER_PORT=${SERVER_PORT:-3000}
- CLIENT_URL=${CLIENT_URL:-http://localhost:4000}
- MAILER_SENDER=${MAILER_SENDER:-dev@example.com}
- MAILER_HOSTNAME=${MAILER_HOSTNAME}
- MAILER_PORT=${MAILER_PORT}
- MAILER_USER=${MAILER_USER}
- MAILER_PASSWORD=${MAILER_PASSWORD}
- PASSWORD_RESET_PATH=${PASSWORD_RESET_PATH:-password-reset}
- S3_URL=${S3_URL:-http://filehosting:9000}
# - S3_PROTOCOL=http
# - S3_HOST=filehosting
# - S3_PORT=${S3_PORT:-9000}
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID:-nonRootUser}
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY:-nonRootPassword}
- S3_BUCKET=${S3_BUCKET:-uploads}
- BIOINTERACTIVE_OAUTH_CLIENT_ID=${BIOINTERACTIVE_OAUTH_CLIENT_ID}
- BIOINTERACTIVE_OAUTH_CLIENT_SECRET=${BIOINTERACTIVE_OAUTH_CLIENT_SECRET}
- BIOINTERACTIVE_OAUTH_REDIRECT_URI=${BIOINTERACTIVE_OAUTH_REDIRECT_URI}
- BIOINTERACTIVE_OAUTH_TOKEN_URI=${BIOINTERACTIVE_OAUTH_TOKEN_URI}
- BIOINTERACTIVE_OAUTH_API_USER_URI=${BIOINTERACTIVE_OAUTH_API_USER_URI}
- BIOINTERACTIVE_OAUTH_AUTH_SERVER_URI=${BIOINTERACTIVE_OAUTH_AUTH_SERVER_URI}
- CLIENT_SHOW_EMAIL_LOGIN_OPTION=${CLIENT_SHOW_EMAIL_LOGIN_OPTION:-false}
- CLIENT_BIOINTERACTIVE_OAUTH_CLIENT_ID=${CLIENT_BIOINTERACTIVE_OAUTH_CLIENT_ID:-"hhmi_assessment_builder"}
- CLIENT_BIOINTERACTIVE_OAUTH_REDIRECT_URI=${CLIENT_BIOINTERACTIVE_OAUTH_REDIRECT_URI:-""}
volumes:
- ./packages/server/api:/home/node/hhmi/api
- ./packages/server/config:/home/node/hhmi/config
- ./packages/server/controllers:/home/node/hhmi/controllers
- ./packages/server/models:/home/node/hhmi/models
- ./packages/server/rest:/home/node/hhmi/rest
- ./packages/server/scripts:/home/node/hhmi/scripts
- ./packages/server/services:/home/node/hhmi/services
tty: true
db:
image: postgres:14
ports:
- ${POSTGRES_PORT:-5432}:5432
environment:
- POSTGRES_DB=${POSTGRES_DB:-hhmi_dev}
- POSTGRES_USER=${POSTGRES_USER:-hhmi_dev_user}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-hhmi_dev_user_password}
filehosting:
image: minio/minio:RELEASE.2023-03-24T21-41-23Z
ports:
- ${S3_PORT:-9000}:9000
- ${MINIO_CONSOLE_PORT:-9001}:9001
volumes:
- minio_storage:/data
environment:
- MINIO_ROOT_USER=${MINIO_ROOT_USER:-admin}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-superSecretAdminPassword}
command: server --console-address ":${MINIO_CONSOLE_PORT:-9001}" /data
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live']
interval: 0.5s
timeout: 20s
retries: 30
createbucket:
image: minio/mc:RELEASE.2023-02-16T19-20-11Z
depends_on:
filehosting:
condition: service_healthy
entrypoint: >
/bin/sh -c "
/usr/bin/mc config host add cokoServer http://filehosting:${S3_PORT:-9000} ${MINIO_ROOT_USER:-admin} ${MINIO_ROOT_PASSWORD:-superSecretAdminPassword};
/usr/bin/mc admin user add cokoServer/ ${S3_ACCESS_KEY_ID:-nonRootUser} ${S3_SECRET_ACCESS_KEY:-nonRootPassword};
/usr/bin/mc admin user enable cokoServer/ ${S3_ACCESS_KEY_ID:-nonRootUser};
/usr/bin/mc mb cokoServer/${S3_BUCKET:-uploads};
/usr/bin/mc admin policy set cokoServer/ readwrite user=${S3_ACCESS_KEY_ID:-nonRootUser};
exit 0;
"
volumes:
minio_storage: