Placemark is an open source and free application for creating, viewing, editing, and analyzing map data. Most people who want to use this application should visit Placemark.io, the main instance. The rest of this README is for people who want to tinker with it as a developer, fork it, etc.
There are more sophisticated approaches using Docker or Render (see files), but the following simple approach works locally on macOS:
- Clone the repository, change to this directory, and install dependencies.
This repository expects you to use pnpm and Node 24.5.0, which can be installed using mise or manually.
git clone
pnpm install
-
Optionally obtain a Geocode Earth token (docs) for search.
Placemark renders maps with the open-source MapLibre GL JS. Its default basemaps are hosted by OpenFreeMap and require no token. Mapbox-hosted basemap styles are not loaded. See map licenses and services for details.
Routing is optional and supports openrouteservice, Geoapify, or OSRM. No routing service is configured by default. See the routing provider configuration.
-
If needed, configure the optional services:
VITE_PUBLIC_GEOCODE_EARTH_TOKEN="<your Geocode Earth token>"- Start the server:
Either in development mode with hot-reloading:
pnpm devOr build a dist/ directory that you can serve as normal files:
pnpm build
pnpm dlx serve@latest distIf you're planning to run this often or publicly, set allowed Referrer Hostnames on the Geocode Earth token.
For local development, copy .env.example to .env.local and add your tokens there:
cp .env.example .env.local- epanetjs - focused on water modeling (repo)
- geojson.io/next from Mapbox (repo)