-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.prod.yml
150 lines (150 loc) · 3.93 KB
/
docker-compose.prod.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
version: '3'
services:
graphkb_db:
image: orientdb:3.0
environment:
# customize settings below
ORIENTDB_ROOT_PASSWORD: root
ports:
- 2424:2424
- 2480:2480
networks:
- app-network
volumes:
- source: ./databases/orientdb/data
target: /orientdb/databases
type: bind
- source: ./databases/orientdb/backup
target: /orientdb/backup
type: bind
graphkb_api:
image: bcgsc/pori-graphkb-api:v3.13.3
ports:
- 8080:8080
environment:
GKB_DB_CREATE: 1
GKB_DB_HOST: graphkb_db
GKB_DB_NAME: graphkb
GKB_KEYCLOAK_KEY_FILE: /keys/keycloak.key
KEY_PASSPHRASE: ''
# customize settings below
GKB_CORS_ORIGIN: '^https://pori-demo\.bcgsc\.ca.*$$'
GKB_DBS_PASS: root
GKB_KEYCLOAK_URI: https://pori-demo.bcgsc.ca/auth/realms/PORI/protocol/openid-connect/token
GKB_BASE_PATH: /graphkb-api
depends_on:
- graphkb_db
networks:
- app-network
restart: always
volumes:
- source: ./keys
target: /keys
type: bind
read_only: true
healthcheck:
test: ["CMD", "curl", "-f", "http://graphkb_api:8080/api/version"]
interval: 30s
timeout: 10s
retries: 5
graphkb_client:
image: bcgsc/pori-graphkb-client:v4.2.2
environment:
KEYCLOAK_REALM: PORI
KEYCLOAK_CLIENT_ID: GraphKB
# customize settings below
API_BASE_URL: https://pori-demo.bcgsc.ca/graphkb-api
KEYCLOAK_URL: https://pori-demo.bcgsc.ca/auth
PUBLIC_PATH: /graphkb/
IS_DEMO: 1 # Remove when non-demo deployment
ports:
- 5000:80
depends_on:
- graphkb_api
networks:
- app-network
restart: always
ipr_db:
image: bcgsc/pori-ipr-demodb:v7.2.1
restart: always
environment:
DATABASE_NAME: ipr_demo
POSTGRES_USER: postgres
READONLY_USER: ipr_ro
SERVICE_USER: ipr_service
PGDATA: /var/lib/postgresql/data/pgdata
# customize settings below
POSTGRES_PASSWORD: root
READONLY_PASSWORD: root
SERVICE_PASSWORD: root
ports:
- 5432:5432
networks:
- app-network
redis:
image: redis:6.2-alpine
# Set health checks to wait until redis has started
healthcheck:
test: redis-cli ping
interval: 10s
timeout: 5s
retries: 5
ports:
# Maps port 6379 on service container to the host
- 6379:6379
networks:
- app-network
restart: always
ipr_api:
image: bcgsc/pori-ipr-api:v7.2.1
ports:
- 8081:8080
environment:
IPR_DATABASE_HOSTNAME: ipr_db
IPR_DATABASE_NAME: ipr_demo
IPR_DATABASE_USERNAME: ipr_ro
IPR_GRAPHKB_USERNAME: ipr_graphkb_link
IPR_KEYCLOAK_KEYFILE: /keys/keycloak.key
# customize settings below
IPR_DATABASE_PASSWORD: root
IPR_GRAPHKB_PASSWORD: ipr_graphkb_link
IPR_GRAPHKB_URI: https://pori-demo.bcgsc.ca/graphkb-api/api
IPR_KEYCLOAK_URI: https://pori-demo.bcgsc.ca/auth/realms/PORI/protocol/openid-connect/token
IPR_REDIS_HOST: redis
IPR_REDIS_PORT: 6379
depends_on:
- ipr_db
- redis
networks:
- app-network
restart: always
volumes:
- source: ./keys
target: /keys
type: bind
read_only: true
healthcheck:
test: ["CMD", "curl", "-f", "http://ipr_api:8080/api/spec.json"]
interval: 30s
timeout: 10s
retries: 5
ipr_client:
image: bcgsc/pori-ipr-client:v6.6.3
environment:
KEYCLOAK_REALM: PORI
# customize settings below
API_BASE_URL: https://pori-demo.bcgsc.ca/ipr-api/api
GRAPHKB_URL: https://pori-demo.bcgsc.ca/graphkb
KEYCLOAK_URL: https://pori-demo.bcgsc.ca/auth
PUBLIC_PATH: /ipr/
IS_DEMO: 1 # Remove when non-demo deployment
ports:
- 3000:80
depends_on:
- ipr_api
networks:
- app-network
restart: always
networks:
app-network:
driver: bridge