forked from rodekruis/IBF-system
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
133 lines (125 loc) · 4.37 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
129
130
131
132
133
version: "3.8"
services:
nginx:
image: staticfloat/nginx-certbot
ports:
- 80:80
- 443:443
environment:
CERTBOT_EMAIL: ${CERTBOT_EMAIL}
ENVSUBST_VARS: FQDN
FQDN: ${FQDN}
volumes:
- ./nginx/conf.d:/etc/nginx/user.conf.d
- ibf-dashboard-root:/var/www/ibf-dashboard
- letsencrypt:/etc/letsencrypt
networks:
web-server-network:
restart: unless-stopped
ibf-api-service:
build:
context: ./services/API-service
args:
- NODE_ENV=${NODE_ENV}
image: rodekruis/ibf-api-service
environment:
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- DB_TYPE=${DB_TYPE}
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_DATABASE=${DB_DATABASE}
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
- NODE_ENV=${NODE_ENV}
- PRODUCTION_DATA_SERVER=${PRODUCTION_DATA_SERVER}
- SECRET=${SECRET}
- RESET_SECRET=${RESET_SECRET}
- WATERPOINTDATA_TOKEN=${WATERPOINTDATA_TOKEN}
- COUNTRIES=${COUNTRIES}
networks:
web-server-network:
pipeline-network:
depends_on:
- ibf-geoserver
volumes:
- ./services/IBF-pipeline/pipeline/lib/pipeline:/home/ibf/pipeline
ibf-dashboard:
build:
context: ./interfaces/IBF-dashboard
args:
- NG_CONFIGURATION=${NG_CONFIGURATION}
- NG_API_URL=${NG_API_URL}
- NG_USE_SERVICE_WORKER=${NG_USE_SERVICE_WORKER}
- NG_GEOSERVER_URL=${NG_GEOSERVER_URL}
- NG_IBF_SYSTEM_VERSION=${NG_IBF_SYSTEM_VERSION}
- NG_IBF_VIDEO_GUIDE_URL=${NG_IBF_VIDEO_GUIDE_URL}
- NG_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY=${NG_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY}
- NG_APPLICATION_INSIGHTS_URL=${NG_APPLICATION_INSIGHTS_URL}
image: rodekruis/ibf-dashboard
environment:
- NG_CONFIGURATION=${NG_CONFIGURATION}
- NG_API_URL=${NG_API_URL}
- NG_USE_SERVICE_WORKER=${NG_USE_SERVICE_WORKER}
- NG_GEOSERVER_URL=${NG_GEOSERVER_URL}
- NG_IBF_SYSTEM_VERSION=${NG_IBF_SYSTEM_VERSION}
- NG_IBF_VIDEO_GUIDE_URL=${NG_IBF_VIDEO_GUIDE_URL}
- NG_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY=${NG_APPLICATION_INSIGHTS_INSTRUMENTATION_KEY}
- NG_APPLICATION_INSIGHTS_URL=${NG_APPLICATION_INSIGHTS_URL}
volumes:
- ibf-dashboard-root:/home/node/app/www
networks:
web-server-network:
ibf-pipeline:
build: ./services/IBF-pipeline
image: rodekruis/ibf-pipeline
environment:
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_DATABASE=${DB_DATABASE}
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
- COUNTRIES=${COUNTRIES}
- DASHBOARD_URL=${DASHBOARD_URL}
- EMAIL_NOTIFICATION=${EMAIL_NOTIFICATION}
command: /bin/sh ./entrypoint.sh
volumes:
- pipeline-root:/home/ibf
networks:
pipeline-network:
restart: unless-stopped
ibf-geoserver:
image: kartoza/geoserver
volumes:
- pipeline-geoserver:/opt/geoserver/data_dir/workspaces/ibf-system/ibf-pipeline
- workspace-geoserver:/opt/geoserver/data_dir/workspaces/ibf-system
networks:
web-server-network:
pipeline-network:
restart: unless-stopped
volumes:
ibf-dashboard-root:
pipeline-root:
driver_opts:
type: bind
device: ./services/IBF-pipeline
o: bind
pipeline-geoserver:
driver_opts:
type: bind
device: ./services/IBF-pipeline/pipeline/data/raster
o: bind
workspace-geoserver:
driver_opts:
type: bind
device: ./services/IBF-pipeline/geoserver-workspaces/ibf-system
o: bind
letsencrypt:
driver_opts:
type: bind
device: ./nginx/letsencrypt
o: bind
networks:
web-server-network:
driver: bridge
pipeline-network:
driver: bridge