- services/marker-api/: Go HTTP service (0 external deps, ~8 MB RAM)
- Mathematically correct teardrop pin shape (Google Maps style)
- Tangent-based outline: circle + straight sides meeting at tip
- White border + white inner dot, in-memory cache (max 500 entries)
- .forgejo/workflows/build-marker-api.yml: CI builds & pushes to
Forgejo registry on push to main (image: rd13_tile_server-marker-api)
- docker-compose.yml: add marker-api service on port 9984
- Caddyfile (rd13_system_proxy): route /styles/v4/marker/* -> :9984
- docs/ADMIN.md + MAINTAINER.md: marker-api dokumentiert
Fixes: /styles/v4/marker/pin-m+{color}(@{scale}x).png was 404, now 200
58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
services:
|
|
martin:
|
|
image: ghcr.io/maplibre/martin:latest
|
|
container_name: rd13_martin
|
|
ports:
|
|
- "9982:3000"
|
|
volumes:
|
|
- ./data:/data
|
|
- ./config/martin.yaml:/config/martin.yaml:ro
|
|
command: ["--config", "/config/martin.yaml", "--webui", "enable-for-all", "--on-invalid", "warn"]
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
tileserver:
|
|
image: maptiler/tileserver-gl:latest
|
|
container_name: rd13_tileserver
|
|
ports:
|
|
- "9983:8080"
|
|
volumes:
|
|
- ./config/tileserver.json:/data/config.json:ro
|
|
- ./config/styles:/data/styles:ro
|
|
- ./data/fonts:/data/fonts:ro
|
|
- ./data/sprites:/data/sprites:ro
|
|
- /mnt/static-data/rd13_tile_server_data/osm.mbtiles:/data/osm.mbtiles:ro
|
|
- /mnt/static-data/rd13_tile_server_data/osm-europe.mbtiles:/data/osm-europe.mbtiles:ro
|
|
- /mnt/static-data/rd13_tile_server_data/satellite.mbtiles:/data/satellite.mbtiles:ro
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "node", "-e", "require('http').get('http://localhost:8080/health', r => process.exit(r.statusCode === 200 ? 0 : 1))"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
depends_on:
|
|
- martin
|
|
|
|
marker-api:
|
|
# Image wird von Forgejo CI gebaut und in die Registry gepusht.
|
|
# Erstes lokales Build: docker compose build marker-api
|
|
image: 192.168.178.6:8083/cschulz/rd13_tile_server-marker-api:latest
|
|
container_name: rd13_marker_api
|
|
build:
|
|
context: ./services/marker-api
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "9984:3000"
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:3000/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 5s
|