forked from OHDSI/Broadsea
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
128 lines (120 loc) · 4.2 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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
version: '3'
volumes:
atlasdb-postgres-data:
name: atlasdb-postgres-data
rstudio-home-data:
name: rstudio-home-data
rstudio-tmp-data:
name: rstudio-tmp-data
services:
traefik:
image: docker.io/library/traefik:v2.9.4@sha256:4c388f477f5b7aa48420694d90db0ecb96b4ecede60b9b7589c87858abf87b60
container_name: traefik
restart: unless-stopped
ipc: none
read_only: true
command:
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
labels:
- "traefik.enable=true"
ports:
- "${BROADSEA_HOST}:80:80"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
broadsea-content:
container_name: broadsea-content
image: nginx
restart: unless-stopped
volumes:
- ./broadsea-content:/usr/share/nginx/html/broadsea:ro
labels:
- "traefik.enable=true"
- "traefik.http.routers.nginx.rule=Host(`${BROADSEA_HOST}`) && PathPrefix(`/broadsea`)"
- "traefik.http.routers.nginx.entrypoints=web"
broadsea-hades:
container_name: broadsea-hades
image: ohdsi/broadsea-hades:4.2.1
environment:
- USER=ohdsi
- PASSWORD=mypass
volumes:
- rstudio-home-data:/home
- rstudio-tmp-data:/tmp
labels:
- "traefik.enable=true"
- "traefik.http.routers.broadsea-hades.rule=Host(`${BROADSEA_HOST}`) && PathPrefix(`/`)"
- "traefik.http.routers.broadsea-hades.entrypoints=web"
- "traefik.http.services.broadsea-hades.loadbalancer.server.port=8787"
ports:
- "8787:8787"
- "6311:6311"
ohdsi-atlas:
image: docker.io/ohdsi/atlas:2.12.0@sha256:96431e12cba41643117a904f14c3c6d50a0af63a9a293ed61cd56d5bcffb723a
container_name: ohdsi-atlas
restart: unless-stopped
ipc: none
privileged: false
environment:
WEBAPI_URL: "http://${BROADSEA_HOST}/WebAPI/"
depends_on:
- ohdsi-webapi
labels:
- "traefik.enable=true"
- "traefik.http.routers.ohdsi-atlas.rule=Host(`${BROADSEA_HOST}`) && PathPrefix(`/atlas`)"
- "traefik.http.routers.ohdsi-atlas.entrypoints=web"
ohdsi-webapi:
container_name: ohdsi-webapi
image: docker.io/ohdsi/webapi:2.12.0@sha256:4d951a05245cedad4d666874fb71f182bd2140aab5ece4f1621d028cf10d0823
restart: unless-stopped
ipc: none
read_only: true
tmpfs:
- /tmp
privileged: false
environment:
DATASOURCE_DRIVERCLASSNAME: org.postgresql.Driver
DATASOURCE_URL: jdbc:postgresql://broadsea-atlasdb:5432/postgres
DATASOURCE_USERNAME: postgres
DATASOURCE_PASSWORD: mypass
DATASOURCE_OHDSI_SCHEMA: webapi
SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
SPRING_JPA_PROPERTIES_HIBERNATE_DEFAULT_SCHEMA: webapi
SPRING_BATCH_REPOSITORY_TABLEPREFIX: webapi.BATCH_
FLYWAY_DATASOURCE_DRIVERCLASSNAME: org.postgresql.Driver
FLYWAY_DATASOURCE_URL: jdbc:postgresql://broadsea-atlasdb:5432/postgres
FLYWAY_DATASOURCE_USERNAME: postgres
FLYWAY_DATASOURCE_PASSWORD: postgres
FLYWAY_LOCATIONS: classpath:db/migration/postgresql
FLYWAY_PLACEHOLDERS_OHDSISCHEMA: webapi
FLYWAY_SCHEMAS: webapi
FLYWAY_BASELINEONMIGRATE: "true"
FLYWAY_TABLE: schema_history
flyway_baselineVersionAsString: "2.2.5.20180212152023" # this env var is case sensitive
FLYWAY_BASELINEDESCRIPTION: Base Migration
SECURITY_CORS_ENABLED: "true"
SECURITY_ORIGIN: "http://${BROADSEA_HOST}"
depends_on:
- broadsea-atlasdb
labels:
- "traefik.enable=true"
- "traefik.http.routers.ohdsi-webapi.rule=Host(`${BROADSEA_HOST}`) && PathPrefix(`/WebAPI`)"
- "traefik.http.routers.ohdsi-webapi.entrypoints=web"
broadsea-atlasdb:
image: ohdsi/broadsea-atlasdb:2.0.0
container_name: broadsea-atlasdb
cpus: 2
mem_limit: "2G"
environment:
- POSTGRES_PASSWORD=mypass
ports:
- "5432:5432"
volumes:
- atlasdb-postgres-data:/var/lib/postgresql/data
- ./100_populate_source_source_daimon.sql:/docker-entrypoint-initdb.d/100_populate_source_source_daimon.sql:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 10