Skip to content

Latest commit

 

History

History
84 lines (59 loc) · 2.93 KB

File metadata and controls

84 lines (59 loc) · 2.93 KB

Getmapstack

Self-hosted mapping stack. One command per country.

Replace Google Maps API — no API keys, no rate limits, no vendor lock-in.

Routing via Valhalla, geocoding via Photon.

Quick start

docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/cyprus

Images are multi-arch: linux/amd64 and linux/arm64 (Apple Silicon, AWS Graviton).

Verify

Routing — Nicosia to Limassol:

curl localhost:8002/route \
  -d '{"locations":[{"lat":35.18,"lon":33.38},{"lat":34.67,"lon":33.04}],"costing":"auto"}'
{"trip":{"summary":{"length":84.737,"time":3770.235,"has_highway":true}}}

Geocoding — search for "Nicosia":

curl "localhost:2322/api?q=Nicosia&limit=1"
{"features":[{"properties":{"name":"Λευκωσία - Lefkoşa","type":"city","country":"Κύπρος - Kıbrıs"}}]}

Reverse geocoding — coordinates to address:

curl "localhost:2322/reverse?lon=33.38&lat=35.18&limit=1"
{"features":[{"properties":{"street":"Zappeiou","housenumber":"21","city":"Λευκωσία - Lefkoşa"}}]}

Full API docs: Valhalla API · Photon API

Countries

Country Size Run
🇧🇪 Belgium 2.2 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/belgium
🇧🇳 Brunei 0.5 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/brunei
🇨🇾 Cyprus 0.3 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/cyprus
🇮🇩 Indonesia 1.5 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/indonesia
🇲🇾 Malaysia 0.8 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/malaysia
🇸🇬 Singapore 0.5 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/singapore
🇰🇷 South Korea 1.4 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/south-korea
🇻🇳 Vietnam 0.8 GB docker run -p 8002:8002 -p 2322:2322 ghcr.io/roma8ok/getmapstack/vietnam

Build it yourself

Requires Docker. Build a country image locally instead of pulling from GHCR:

git clone https://github.com/roma8ok/getmapstack.git
cd getmapstack
make build-valhalla-builder
make build-photon-builder
make create-valhalla-tiles COUNTRY=cyprus
make create-photon-data COUNTRY=cyprus
make build-server COUNTRY=cyprus
docker run -p 8002:8002 -p 2322:2322 getmapstack/cyprus

Intermediate artifacts (routing tiles, geocoding index) land in artifacts/. Images build for linux/amd64 and linux/arm64 by default - pass PLATFORMS=linux/arm64 (or your platform) for a faster single-arch build. make help lists all targets and available countries.

License

MIT