feat: docker-compose.build.yml – Planetiler Build-Container für z16 auf Host-Rechner
This commit is contained in:
parent
407f6c4faf
commit
83492ff96a
3 changed files with 99 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -1,6 +1,9 @@
|
|||
# Datendateien – nicht im Repo (können mehrere GB groß sein)
|
||||
data/*
|
||||
|
||||
# Planetiler Build-Output (Host-Build, nicht auf dem Server)
|
||||
build/
|
||||
|
||||
# Laufzeit
|
||||
.env
|
||||
|
||||
|
|
|
|||
66
docker-compose.build.yml
Normal file
66
docker-compose.build.yml
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# Planetiler Build – Vektor-Tiles für höhere Zoom-Level
|
||||
#
|
||||
# LÄUFT AUF DEM HOST-RECHNER (nicht auf dem Server).
|
||||
# Voraussetzung: Docker Desktop (macOS/Windows) oder Docker Engine (Linux)
|
||||
#
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
# SCHRITT 1: Build starten
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# # Germany z0-16 (~12 GB Output, ~2h, 8 GB RAM)
|
||||
# AREA=germany MAX_ZOOM=16 RAM=8g docker compose -f docker-compose.build.yml up
|
||||
#
|
||||
# # Austria z0-16 (~2 GB Output, ~20min, 4 GB RAM)
|
||||
# AREA=austria MAX_ZOOM=16 RAM=4g docker compose -f docker-compose.build.yml up
|
||||
#
|
||||
# # Europe z0-16 (~80 GB Output, ~12h, 16 GB RAM)
|
||||
# AREA=europe MAX_ZOOM=16 RAM=16g docker compose -f docker-compose.build.yml up
|
||||
#
|
||||
# Status verfolgen (zweites Terminal):
|
||||
# docker compose -f docker-compose.build.yml logs -f
|
||||
#
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
# SCHRITT 2: Ergebnis auf Server übertragen
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# rsync -avh --progress \
|
||||
# ./build/<AREA>.mbtiles \
|
||||
# rd13server@192.168.178.6:/mnt/services-data/rd13_tile_server/data/osm-<AREA>.mbtiles
|
||||
#
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
# SCHRITT 3: Martin auf dem Server neu starten
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
#
|
||||
# ssh rd13server@192.168.178.6 \
|
||||
# "cd /mnt/services-data/rd13_tile_server && docker compose restart martin"
|
||||
#
|
||||
# # Neue Source prüfen:
|
||||
# curl https://tiles.rd13server.de/catalog | grep osm-<AREA>
|
||||
#
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
# UMGEBUNGSVARIABLEN (Defaults)
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
# AREA = germany (germany | austria | switzerland | europe | planet)
|
||||
# MAX_ZOOM = 16 (14 = Planet-Level, 16 = Detail)
|
||||
# RAM = 8g (Java Heap: 8g für DE, 16g für EU)
|
||||
|
||||
services:
|
||||
planetiler-build:
|
||||
image: ghcr.io/onthegomap/planetiler:latest
|
||||
container_name: rd13_planetiler_build
|
||||
volumes:
|
||||
- ./build:/data
|
||||
environment:
|
||||
- JAVA_TOOL_OPTIONS=-Xmx${RAM:-8g}
|
||||
command:
|
||||
- "--download"
|
||||
- "--area=${AREA:-germany}"
|
||||
- "--output=/data/${AREA:-germany}.mbtiles"
|
||||
- "--maxzoom=${MAX_ZOOM:-16}"
|
||||
- "--force"
|
||||
restart: "no"
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "${BUILD_CPUS:-8.0}"
|
||||
memory: ${BUILD_MEM:-12g}
|
||||
|
|
@ -61,6 +61,36 @@ curl -s http://localhost:9982/osm | jq .
|
|||
curl -s "http://localhost:9983/osm-intl/0/0/0.png" > /tmp/test.png && file /tmp/test.png
|
||||
```
|
||||
|
||||
### Höhere Zoom-Level bauen (auf Host-Rechner, nicht auf dem Server)
|
||||
|
||||
Planetiler läuft in einem eigenen Container auf dem **Host-Rechner** (MacBook, Desktop-PC
|
||||
etc.) mit genug RAM. Das Ergebnis wird per `rsync` auf den Server übertragen.
|
||||
|
||||
```bash
|
||||
# Auf dem HOST-RECHNER ausführen (nicht auf dem Server):
|
||||
cd /path/to/rd13_tile_server
|
||||
|
||||
# Germany z0-16 (~12 GB, ~2h, 8 GB RAM)
|
||||
AREA=germany MAX_ZOOM=16 RAM=8g docker compose -f docker-compose.build.yml up
|
||||
|
||||
# Europe z0-16 (~80 GB, ~12h, 16 GB RAM)
|
||||
AREA=europe MAX_ZOOM=16 RAM=16g docker compose -f docker-compose.build.yml up
|
||||
|
||||
# Fertige Datei auf Server übertragen (resume-fähig via rsync):
|
||||
rsync -avh --progress \
|
||||
./build/germany.mbtiles \
|
||||
rd13server@192.168.178.6:/mnt/services-data/rd13_tile_server/data/osm-germany.mbtiles
|
||||
|
||||
# Martin auf dem Server neu starten:
|
||||
ssh rd13server@192.168.178.6 \
|
||||
"cd /mnt/services-data/rd13_tile_server && docker compose restart martin"
|
||||
|
||||
# Neue Source prüfen:
|
||||
curl https://tiles.rd13server.de/catalog | python3 -m json.tool | grep osm-germany
|
||||
```
|
||||
|
||||
Output liegt lokal unter `./build/<AREA>.mbtiles` (gitignored).
|
||||
|
||||
### Satellit-Tiles herunterladen (einmalig, ~38 GB, ~24h)
|
||||
|
||||
Der Download läuft in einem eigenen Container – vollständig unabhängig von
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue