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
|
||||
# https://ircama.github.io/osm-carto-tutorials/tile-server-ubuntu/
|
||||
|
||||
shared_buffers = 128MB
|
||||
shared_buffers = 1GB
|
||||
min_wal_size = 1GB
|
||||
# max_wal_size = 2GB # Overridden below
|
||||
maintenance_work_mem = 256MB
|
||||
@ -16,10 +16,14 @@ wal_buffers = 1024kB
|
||||
wal_writer_delay = 500ms
|
||||
commit_delay = 10000
|
||||
# checkpoint_segments = 60 # unrecognized in psql 10.7.1
|
||||
max_wal_size = 2880MB
|
||||
max_wal_size = 5GB
|
||||
random_page_cost = 1.1
|
||||
track_activity_query_size = 16384
|
||||
autovacuum_vacuum_scale_factor = 0.05
|
||||
autovacuum_analyze_scale_factor = 0.02
|
||||
|
||||
checkpoint_timeout = 60min
|
||||
wal_level = minimal
|
||||
max_wal_senders = 0
|
||||
|
||||
listen_addresses = '*'
|
||||
|
||||
3
run.sh
3
run.sh
@ -169,6 +169,7 @@ if [ "$1" == "run" ]; then
|
||||
|
||||
# Configure renderd threads
|
||||
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
|
||||
if [ "${UPDATES:-}" == "enabled" ] || [ "${UPDATES:-}" == "1" ]; then
|
||||
@ -197,3 +198,5 @@ fi
|
||||
|
||||
echo "invalid command"
|
||||
exit 1
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user