added postgres improvments and some general optimisations
This commit is contained in:
parent
6088b9b37f
commit
8982d7d3da
64
docker-compose.yaml
Normal file
64
docker-compose.yaml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
services:
|
||||||
|
map:
|
||||||
|
image: overv/openstreetmap-tile-server
|
||||||
|
environment:
|
||||||
|
- UPDATES=enabled
|
||||||
|
- MAX_INTERVAL_SECONDS=600
|
||||||
|
- REPLICATION_URL=https://planet.openstreetmap.org/replication/minute/
|
||||||
|
# - DOWNLOAD_PBF=https://download.geofabrik.de/europe/dach-latest.osm.pbf
|
||||||
|
# - DOWNLOAD_POLY=https://download.geofabrik.de/europe/dach.poly
|
||||||
|
- THREADS=10
|
||||||
|
- OSM2PGSQL_EXTRA_ARGS=-C 8196
|
||||||
|
- FLAT_NODES=enabled
|
||||||
|
# deploy:
|
||||||
|
# replicas: 4
|
||||||
|
- ALLOW_CORS=enabled
|
||||||
|
- TILESIZE=512
|
||||||
|
volumes:
|
||||||
|
- osm-data:/data/database/
|
||||||
|
- osm-tiles:/data/tiles/
|
||||||
|
- ./run.sh:/run.sh
|
||||||
|
# ports:
|
||||||
|
# - "8080:80"
|
||||||
|
command: "run"
|
||||||
|
shm_size: 2g
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.docker.network=traefik-docker_default"
|
||||||
|
- "traefik.http.routers.openstreetmap-tile-server.rule=Host(`${VIRTUAL_HOST}`)"
|
||||||
|
- "traefik.http.routers.openstreetmap-tile-server.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.openstreetmap-tile-server.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.openstreetmap-tile-server.loadbalancer.server.port=80"
|
||||||
|
- "traefik.http.routers.openstreetmap-tile-server.tls=true"
|
||||||
|
|
||||||
|
import:
|
||||||
|
image: overv/openstreetmap-tile-server
|
||||||
|
environment:
|
||||||
|
- UPDATES=enabled
|
||||||
|
- MAX_INTERVAL_SECONDS=600
|
||||||
|
- REPLICATION_URL=https://planet.openstreetmap.org/replication/minute/
|
||||||
|
- DOWNLOAD_PBF=https://download.geofabrik.de/europe/dach-latest.osm.pbf
|
||||||
|
- DOWNLOAD_POLY=https://download.geofabrik.de/europe/dach.poly
|
||||||
|
- THREADS=10
|
||||||
|
- FLAT_NODES=enabled
|
||||||
|
- OSM2PGSQL_EXTRA_ARGS=-C 8196
|
||||||
|
dns: 1.1.1.1
|
||||||
|
volumes:
|
||||||
|
- osm-data:/data/database/
|
||||||
|
- osm-tiles:/data/tiles/
|
||||||
|
command: "import"
|
||||||
|
shm_size: 2g
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
osm-tiles:
|
||||||
|
external: true
|
||||||
|
osm-data:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
name: traefik-docker_default
|
||||||
|
|
||||||
@ -1,7 +1,7 @@
|
|||||||
# Suggested minimal settings from
|
# Suggested minimal settings from
|
||||||
# https://ircama.github.io/osm-carto-tutorials/tile-server-ubuntu/
|
# https://ircama.github.io/osm-carto-tutorials/tile-server-ubuntu/
|
||||||
|
|
||||||
shared_buffers = 128MB
|
shared_buffers = 1GB
|
||||||
min_wal_size = 1GB
|
min_wal_size = 1GB
|
||||||
# max_wal_size = 2GB # Overridden below
|
# max_wal_size = 2GB # Overridden below
|
||||||
maintenance_work_mem = 256MB
|
maintenance_work_mem = 256MB
|
||||||
@ -16,10 +16,14 @@ wal_buffers = 1024kB
|
|||||||
wal_writer_delay = 500ms
|
wal_writer_delay = 500ms
|
||||||
commit_delay = 10000
|
commit_delay = 10000
|
||||||
# checkpoint_segments = 60 # unrecognized in psql 10.7.1
|
# checkpoint_segments = 60 # unrecognized in psql 10.7.1
|
||||||
max_wal_size = 2880MB
|
max_wal_size = 5GB
|
||||||
random_page_cost = 1.1
|
random_page_cost = 1.1
|
||||||
track_activity_query_size = 16384
|
track_activity_query_size = 16384
|
||||||
autovacuum_vacuum_scale_factor = 0.05
|
autovacuum_vacuum_scale_factor = 0.05
|
||||||
autovacuum_analyze_scale_factor = 0.02
|
autovacuum_analyze_scale_factor = 0.02
|
||||||
|
|
||||||
|
checkpoint_timeout = 60min
|
||||||
|
wal_level = minimal
|
||||||
|
max_wal_senders = 0
|
||||||
|
|
||||||
listen_addresses = '*'
|
listen_addresses = '*'
|
||||||
|
|||||||
3
run.sh
3
run.sh
@ -169,6 +169,7 @@ if [ "$1" == "run" ]; then
|
|||||||
|
|
||||||
# Configure renderd threads
|
# Configure renderd threads
|
||||||
sed -i -E "s/num_threads=[0-9]+/num_threads=${THREADS:-4}/g" /etc/renderd.conf
|
sed -i -E "s/num_threads=[0-9]+/num_threads=${THREADS:-4}/g" /etc/renderd.conf
|
||||||
|
sed -i -E "s/TILESIZE=[0-9]+/TILESIZE=${TILESIZE:-256}/g" /etc/renderd.conf
|
||||||
|
|
||||||
# start cron job to trigger consecutive updates
|
# start cron job to trigger consecutive updates
|
||||||
if [ "${UPDATES:-}" == "enabled" ] || [ "${UPDATES:-}" == "1" ]; then
|
if [ "${UPDATES:-}" == "enabled" ] || [ "${UPDATES:-}" == "1" ]; then
|
||||||
@ -197,3 +198,5 @@ fi
|
|||||||
|
|
||||||
echo "invalid command"
|
echo "invalid command"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user