-
Notifications
You must be signed in to change notification settings - Fork 7
/
docker-compose.yml
75 lines (72 loc) · 2.3 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
version: "3.7"
services:
vue-builder:
image: elpaso/vue-builder:latest
build:
context: .
dockerfile: Dockerfile.vue.dockerfile
volumes:
- ${PLUGINS_VOLUME}:/plugins
working_dir: /plugins/landingpage/app/
command: >
bash -c "/usr/local/bin/yarn && /usr/local/bin/yarn build && cp -r ./dist /shared-volume"
qgisserver:
image: elpaso/qgis-server-standalone:latest
build:
context: .
dockerfile: Dockerfile.qgis_server_standalone.dockerfile
init: true
ports:
- "${PUBLIC_PORT}:${PUBLIC_PORT}"
environment:
- QGIS_SERVER_MAX_THREADS=-1
# Mounted in ${PLUGINS_VOLUME} volume
- QGIS_PLUGINPATH=/plugins
- QGIS_SERVER_IGNORE_BAD_LAYERS=1
- QGIS_SERVER_API_RESOURCES_DIRECTORY=${QGIS_SERVER_API_RESOURCES_DIRECTORY}
# Landing page plugin projects directory
- QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=${QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES}
- QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS=postgresql://${POSTGRES_USER}:${POSTGRES_PASS}@postgis:5432?sslmode=disable&dbname=${POSTGRES_DBNAME}&schema=public
command: >
bash -c "/usr/bin/xvfb-run -a /usr/bin/qgis_mapserver -l ${QGIS_SERVER_LOG_LEVEL} ${PUBLIC_HOSTNAME}:${PUBLIC_PORT}"
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
restart: on-failure
volumes:
- ${DOCKER_SHARED_VOLUME}:/shared-volume
- ${PLUGINS_VOLUME}:/plugins
networks:
internal:
depends_on:
- vue-builder
- postgis
postgis:
image: kartoza/postgis:12.1
# Note: cannot remap this port or layers stored in the DB
# will not be loaded correctly. The hostname:port visible
# by clients must be mapped in the same way here (see also
# PUBLIC_HOSTNAME)
ports:
- "5432:5432"
environment:
- POSTGRES_DBNAME=${POSTGRES_DBNAME}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASS=${POSTGRES_PASS}
- ALLOW_IP_RANGE=0.0.0.0/0
restart: on-failure
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
volumes:
- ${DOCKER_SHARED_VOLUME}:/var/lib/postgresql
networks:
internal:
aliases:
- ${PUBLIC_HOSTNAME}
networks:
internal: