Self-Host Operations and Performance
Validate health, monitor dependencies, size workers, and troubleshoot self-hosted Planisfy deployments.
Self-Host Operations and Performance
Use health and preflight diagnostics before debugging clients.
Readiness checks
curl http://localhost:4000/health
curl http://localhost:4000/health/detailed
curl http://localhost:4000/setup/preflightTogether these reports identify degraded dependencies such as missing worker heartbeat, storage issues, unavailable Martin, Valhalla readiness failures, missing Pelias, or missing static renderer. In production, call root diagnostics with internal authorization or use the authenticated Console preflight view.
What to monitor
- API latency, errors, request IDs, and rate-limit responses.
- Postgres connections, slow queries, storage growth, and backup success.
- Redis availability and queue depth.
- Worker heartbeat, failed jobs, and outbox lag.
- Object storage errors, missing artifacts, and bucket policy drift.
- Martin, Valhalla, Pelias, elevation, and static renderer readiness.
- Disk, memory, and swap on build and serving machines.
Worker sizing
Keep geodata worker concurrency conservative until CPU, memory, and disk behavior are measured with your imports. Use S3-compatible storage for production-like artifact serving and direct uploads.
Before running regional or planet-scale routing builds, check:
- Storage provider is S3-compatible MinIO, S3, or R2.
- Root-agent API routes are reachable from the compute host.
- The root-agent service can poll and report progress.
- Disk space covers source data, intermediate build files, final tarballs, and temporary upload parts.
- RAM and swap are sized for the selected Valhalla build target.
- Docker can pull and run the selected Valhalla image.
Start with no-elevation builds. Elevation and DEM generation should be treated as separate capacity planning work after routing graph builds are reliable.
Backup and restore
Test backup and restore before trusting a deployment. At minimum, protect:
- Postgres data.
- Object storage buckets.
- Runtime data directories for PMTiles, fonts, Valhalla, Pelias, and elevation.
- Root-agent state directories and serving activation state.
Use the repository smoke scripts where appropriate:
pnpm smoke:self-host-backup-restore
pnpm smoke:self-host-restart-persistence
pnpm smoke:self-host-support-bundleTroubleshooting
If public maps are blank, inspect the style JSON, TileJSON, tile URL, and storage artifact availability in that order.
If service APIs fail, check auth first, then the backing service readiness. For example, routing depends on Valhalla graph data, and geocoding depends on Pelias configuration.
Runtime health is separate from build state. A Valhalla or Martin build can succeed while the runtime remains unavailable until the artifact is deployed to a serving worker and the readiness probe passes.
Related
Self-Hosting Overview
Decide whether self-hosting fits your deployment, understand the services and datasets you operate, and follow the path to a working map.
Planet-Scale Builds
Build, upload, release, activate, and validate planet-scale OSM basemaps and Valhalla routing graphs with Planisfy root agents.