-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
111 lines (107 loc) · 4.01 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
# Deploys Sage's collaboration portal for production environment.
version: '3.2'
services:
sbcp:
# build:
# context: .
# dockerfile: Dockerfile
# image: sbcp
# OR comment the above `build` and `image` sections and uncomment
# the following line to use the official docker image:
image: sagebionetworks/sagebio-collaboration-portal
container_name: sbcp
ports:
- ${PORT}:${PORT}
environment:
NODE_ENV: production
PORT: ${PORT}
DOMAIN: ${DOMAIN}
# Session secret
SESSION_SECRET: ${SESSION_SECRET}
# Configuring SSL
SSL_KEY: ${SSL_KEY}
SSL_CERT: ${SSL_CERT}
# Configuring MongoDB
MONGODB_PROTOCOL: ${MONGODB_PROTOCOL}
MONGODB_IP: sbcp-mongo
MONGODB_PORT: ${MONGODB_PORT}
MONGODB_PATH: ${MONGODB_PATH}
MONGODB_USER: ${MONGODB_USER}
MONGODB_PASSWORD: ${MONGODB_PASSWORD}
MONGODB_SSL: ${MONGODB_SSL}
MONGODB_SSL_VALIDATE: ${MONGODB_SSL_VALIDATE}
MONGODB_SSL_CA: ${MONGODB_SSL_CA}
MONGODB_SSL_KEY: ${MONGODB_SSL_KEY}
MONGODB_SSL_CERT: ${MONGODB_SSL_CERT}
# Initialization (works with local and SSO auth strategies)
APP_INIT_ADMIN_EMAIL: ${APP_INIT_ADMIN_EMAIL}
APP_INIT_ADMIN_PASSWORD: ${APP_INIT_ADMIN_PASSWORD}
APP_INIT_DB_SEED_NAME: ${APP_INIT_DB_SEED_NAME}
# Enabling local authentication
AUTH_LOCAL: ${AUTH_LOCAL}
# Enabling Google OAuth 2.0
OAUTH_GOOGLE_ID: ${OAUTH_GOOGLE_ID}
OAUTH_GOOGLE_SECRET: ${OAUTH_GOOGLE_SECRET}
# Enabling Google SAML
SAML_GOOGLE_ENTRY_POINT: ${SAML_GOOGLE_ENTRY_POINT}
SAML_GOOGLE_ISSUER: ${SAML_GOOGLE_ISSUER}
# Enabling Microsoft Azure AD OpenID Connect (demo)
AZUREAD_OPENIDCONNECT_IDENTITY_METADATA: ${AZUREAD_OPENIDCONNECT_IDENTITY_METADATA}
AZUREAD_OPENIDCONNECT_CLIENT_ID: ${AZUREAD_OPENIDCONNECT_CLIENT_ID}
# Enabling Roche Azure AD
ROCHE_AZURE_AD_IDENTITY_METADATA: ${ROCHE_AZURE_AD_IDENTITY_METADATA}
ROCHE_AZURE_AD_CLIENT_ID: ${ROCHE_AZURE_AD_CLIENT_ID}
ROCHE_AZURE_AD_CLIENT_SECRET: ${ROCHE_AZURE_AD_CLIENT_SECRET}
# Provenance service
PROVENANCE_API_SERVER_PROTOCOL: ${PROVENANCE_API_SERVER_PROTOCOL}
PROVENANCE_API_SERVER_IP: sbcp-prov
PROVENANCE_API_SERVER_PORT: ${PROVENANCE_API_SERVER_PORT}
PROVENANCE_API_SERVER_PATH: ${PROVENANCE_API_SERVER_PATH}
volumes:
- ./certs/server.key:/usr/src/app/certs/server.key:ro
- ./certs/server.cert:/usr/src/app/certs/server.cert:ro
depends_on:
- sbcp-mongo
- sbcp-prov
sbcp-mongo:
image: sagebionetworks/sbcp-mongo
command: mongod --port ${MONGODB_PORT} --tlsMode requireTLS --tlsCertificateKeyFile /etc/ssl/mongodb.pem
container_name: sbcp-mongo
ports:
- ${MONGODB_PORT}:${MONGODB_PORT}
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
# Configuring for the portal
MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
MONGO_USERNAME: ${MONGO_USERNAME}
MONGO_PASSWORD: ${MONGO_PASSWORD}
volumes:
- ./certs/mongodb.pem:/etc/ssl/mongodb.pem:ro
# - /home/tschaffter/mongodb:/data/db
sbcp-neo4j:
image: graphfoundation/ongdb:3.5
container_name: sbcp-neo4j
ports:
- 7687:7687
- 7474:7474
environment:
NEO4J_AUTH: ${NEO4J_USERNAME}/${NEO4J_PASSWORD}
volumes:
- /tmp/neo4j/data:/var/lib/neo4j/data
- /tmp/neo4j/logs:/logs
sbcp-prov:
image: sagebionetworks/prov-service
command: python3 -m synprov
container_name: sbcp-prov
ports:
- ${PROVENANCE_API_SERVER_PORT}:${PROVENANCE_API_SERVER_PORT}
environment:
NEO4J_SCHEME: bolt
NEO4J_HOST: sbcp-neo4j
NEO4J_PORT: 7687
NEO4J_USERNAME: ${NEO4J_USERNAME}
NEO4J_PASSWORD: ${NEO4J_PASSWORD}
FLASK_HOST: "0.0.0.0"
depends_on:
- sbcp-neo4j