-
Notifications
You must be signed in to change notification settings - Fork 34
/
docker-compose.yml
120 lines (112 loc) · 3.21 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
services:
postgis:
image: kartoza/postgis:16-3.4
ports:
- "5439:5432"
environment:
- POSTGRES_DBNAME=${G3WSUITE_POSTGRES_DBNAME},data_testing,data_production
- POSTGRES_USER=${G3WSUITE_POSTGRES_USER_LOCAL}
- POSTGRES_PASS=${G3WSUITE_POSTGRES_PASS}
- ALLOW_IP_RANGE=0.0.0.0/0
- RUN_AS_ROOT=true
- FORCE_SSL=False
restart: on-failure
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
volumes:
- ${WEBGIS_DOCKER_SHARED_VOLUME}:/var/lib/postgresql
healthcheck:
interval: 60s
timeout: 30s
retries: 3
test: "PGPASSWORD=${G3WSUITE_POSTGRES_PASS} pg_isready -h 127.0.0.1 -U ${G3WSUITE_POSTGRES_USER_LOCAL} -d ${G3WSUITE_POSTGRES_DBNAME}"
networks:
internal:
g3w-suite:
image: g3wsuite/g3w-suite:dev
environment:
- DISPLAY=:99
- G3WSUITE_ADMIN_USERNAME
- G3WSUITE_ADMIN_PASS
- G3WSUITE_TILECACHE_PATH
- G3WSUITE_POSTGRES_DBNAME
- G3WSUITE_POSTGRES_USER
- G3WSUITE_POSTGRES_USER_LOCAL
- G3WSUITE_POSTGRES_PASS
- G3WSUITE_POSTGRES_HOST
- G3WSUITE_POSTGRES_PORT
- G3WSUITE_ORS_API_ENDPOINT
- G3WSUITE_ORS_API_KEY
- TILESTACHE_CACHE_BUFFER_SIZE
- TILESTACHE_CACHE_TOKEN
- G3WSUITE_GUNICORN_NUM_WORKERS
- G3WSUITE_GUNICORN_MAX_REQUESTS
- G3WSUITE_GUNICORN_TIMEOUT
- FRONTEND
- PGSERVICEFILE
- QGIS_OPTIONS_PATH=/shared-volume/
- QGIS_SERVER_LOG_FILE
- QGIS_SERVER_LOG_LEVEL
expose:
- "8000"
restart: always
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
depends_on:
- postgis
volumes:
- ${WEBGIS_DOCKER_SHARED_VOLUME}:/shared-volume
- ${WEBGIS_DOCKER_SHARED_VOLUME}/node_modules:/code/node_modules
- ./config/g3w-suite/overrides/static:/code/static:ro
- ./config/g3w-suite/overrides/templates:/code/templates:ro
- ./config/g3w-suite/settings_docker.py:/code/g3w-admin/base/settings/local_settings.py
- ./secrets/pg_service.conf:${PGSERVICEFILE}
- ./config/qgis/QGIS3.ini:/shared-volume/QGIS/QGIS3.ini
networks:
internal:
redis:
image: redis:latest
expose:
- 6379
networks:
internal:
restart: always
nginx:
image: nginx
ports:
- "8080:8080"
- "443:443"
expose:
- "8080"
volumes:
- ${WEBGIS_DOCKER_SHARED_VOLUME}:/shared-volume
- ${WEBGIS_DOCKER_SHARED_VOLUME}/var/www/.well-known:/var/www/.well-known
- ${WEBGIS_DOCKER_SHARED_VOLUME}/certs/letsencrypt:/etc/letsencrypt:ro
- ./config/g3w-suite/overrides/static:/shared-volume/static/overrides:ro
- ./config/nginx:/etc/nginx/conf.d/:ro
- ./config/nginx/html:/var/www/html:ro
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
restart: always
networks:
internal:
# Letsencrypt certs
certbot:
image: certbot/certbot
volumes:
- ${WEBGIS_DOCKER_SHARED_VOLUME}/var/www/certbot:/var/www/certbot
- ${WEBGIS_DOCKER_SHARED_VOLUME}/certs/letsencrypt:/etc/letsencrypt
volumes:
shared-volume:
g3wsuite-pg-data:
networks:
internal: