-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
116 lines (109 loc) · 3.24 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
version: "3.7"
volumes:
caddy_data:
caddy_config:
shiny-apps:
postgis-data:
services:
caddy:
container_name: caddy
image: caddy:latest
ports:
- "80:80"
- "443:443"
restart: unless-stopped
volumes:
- ./caddy/Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
- /share:/share
rstudio:
container_name: rstudio
build: ./rstudio-shiny
restart: unless-stopped
environment:
ROOT: 'true'
USER: admin
PASSWORD: $PASSWORD
ports:
- 8787:8787 # rstudio.*
- 3838:3838 # shiny.*
- 8888:8888 # api.*
restart: unless-stopped
volumes:
- /share:/share
- shiny-apps:/srv/shiny-server
postgis:
container_name: postgis
image: postgis/postgis:latest
environment:
POSTGRES_DBNAME: gis
POSTGRES_USER: admin
POSTGRES_PASSWORD: $PASSWORD
volumes:
- postgis-data:/var/lib/postgresql
- ./postgis/postgresql.conf:/etc/postgresql/postgresql.conf
- /share:/share
shm_size: 2gb
restart: unless-stopped
healthcheck:
test: 'exit 0'
ports:
- 5432:5432
# command: >
# bash -c "createdb -U admin gis
# && pg_restore -U admin -h localhost --verbose --create --dbname=gis '/share/gis.dump'"
tileserv:
container_name: tileserv
environment:
DATABASE_URL: postgres://admin:$PASSWORD@postgis:5432/gis
# config: https://github.com/CrunchyData/pg_tileserv#configuration-file
MaxFeaturesPerTile: -1 # Limit number of features requested (-1 = no limit; default: 10000)
CacheTTL: 600 # matching with tilecache's default_ttl below
image: pramsey/pg_tileserv:latest
build:
context: ./pg_tileserv
dockerfile: Dockerfile.alpine
args:
VERSION: latest
command: "--config /app/pg_tileserv_config.toml"
volumes:
- ./pg_tileserv/pg_tileserv_config.toml:/app/pg_tileserv_config.toml:ro
- /share:/share
depends_on:
- postgis
ports:
- 7800:7800
tilecache:
container_name: tilecache
image: eeacms/varnish
ports:
- 6081:6081 # tile.
environment:
BACKENDS: "tileserv:7800"
BACKENDS_PROBE_INTERVAL: "100s"
BACKENDS_PROBE_TIMEOUT: "1s"
DNS_ENABLED: "false"
COOKIES: "true"
# http://varnish-cache.org/docs/6.0/reference/varnishd.html#cli-timeout
PARAM_VALUE: "-p default_ttl=43200 -p connect_timeout=7 -p timeout_idle=10 -p timeout_linger=0.1" # 600 sec = 10 min * 60 sec/min # # 43200 sec = 12 * 60* 60 = 12 hrs
# connect_timeout -- Units: seconds; Default: 3.500
# timeout_idle -- Units: seconds; Default: 5.000
# timeout_linger -- Units: seconds; Default: 0.050
volumes:
- /share:/share
depends_on:
- tileserv
featureserv:
container_name: featureserv
environment:
DATABASE_URL: postgres://admin:$PASSWORD@postgis:5432/gis
# config: https://access.crunchydata.com/documentation/pg_featureserv/1.2.0/installation/configuration/
LimitMax: 1000000
image: pramsey/pg_featureserv:latest # https://github.com/CrunchyData/pg_featureserv
volumes:
- /share:/share
depends_on:
- postgis
ports:
- 9000:9000