// the find
maplibre/martin
Blazing fast and lightweight PostGIS, MBtiles and PMtiles tile server, tile generation, and mbtiles tooling.
Martin is a Rust-based tile server that serves vector tiles from PostGIS, PMTiles, and MBTiles sources, plus raster tiles from Cloud Optimized GeoTIFFs and DuckDB. It's aimed at teams running production map infrastructure who need something faster and more resource-efficient than tegola or pg_tileserv. The project also ships companion CLI tools for MBTiles inspection, diffing, and bulk tile generation.
- Source diversity is genuinely good: PostGIS with auto-discovery of compatible tables/functions, PMTiles (local and remote HTTP), MBTiles, COG rasters, and DuckDB all in one binary, with composite sources that merge multiple backends into a single tile endpoint.
- The mbtiles CLI tool is a hidden gem - it supports copy, diff, validate, and apply-diff operations, which fills a real gap for anyone managing offline tile distributions or doing incremental updates.
- Project hygiene is solid: CI with coverage, dependabot, security audits, OpenSSF badge, SECURITY.md, denial-of-service policy, and a justfile with common tasks. The CLAUDE.md file suggests they've thought about AI-assisted contribution workflows too.
- Can run on AWS Lambda (there's a lambda-function config and bootstrap script), which matters for teams that want serverless tile serving without standing up a persistent process.
- No built-in authentication or per-source access control. You have to put nginx/Apache in front and configure that yourself, which is fine for internal tools but annoying for any public-facing deployment with mixed-visibility layers.
- The PostGIS auto-discovery, while convenient, can be a footgun in large databases - it will try to serve any geometry column it finds, and the docs suggest you need careful function signatures to control what gets exposed.
- COG raster support is relatively new and the README doesn't prominently document its limitations (supported band counts, projection requirements, performance characteristics), so adopters will hit edge cases without warning.
- No clustering or horizontal scaling story built in. PMTiles remote HTTP sources help with file serving, but the PostGIS connection pool is per-instance, so you're on your own for running multiple martin instances behind a load balancer without overloading your DB.