A lightweight Go server for serving map tiles from mbtiles files with XYZ, TileJSON, and preview APIs.
mbtileserver is a high-performance web server written in Go that serves map tiles stored in the mbtiles format. It enables developers and organizations to self-host and serve raster (PNG, JPG, WebP) and vector (PBF) map tiles efficiently via standard XYZ tile APIs, even on low-resource cloud instances. The project prioritizes speed, simplicity, and resource efficiency, aiming to run reliably on small cloud instances while being easy to install and operate.
Developers and organizations needing to self-host map tiles for web mapping applications, especially those operating on resource-constrained cloud infrastructure. It is also suitable for GIS professionals or platforms like Data Basin that require compatibility with minimal ArcGIS tiled map service APIs.
Developers choose mbtileserver for its exceptional performance and low resource consumption, allowing it to run on small cloud instances like AWS t2.nano. It offers a simple, single-binary installation with built-in features like TileJSON endpoints, interactive map previews, and graceful reloading, reducing operational complexity compared to more heavyweight tile serving solutions.
Basic Go server for mbtiles
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs reliably on low-resource cloud instances like AWS t2.nano, hosting multiple tilesets without issues, as stated in the README.
Installation is via a single Go binary with environment variable support, and it includes Docker images for easy containerization.
Automatically generates TileJSON 2.1.0 endpoints for each tileset and provides interactive MapLibre GL-based preview maps, reducing setup time.
Supports HMAC-based request authorization with expiring signatures and offers Let's Encrypt integration for auto TLS, enabling secure deployments.
Only supports PNG, JPG, WebP, and PBF formats, with UTF8 Grids explicitly unsupported, which may hinder use with certain historical or specialized data.
Filesystem watching for reload comes with warnings about directory changes and potential request stalls or HTTP 503 errors under high load, adding operational risk.
The ArcGIS API is described as minimal and not intended for full-featured applications like ArcGIS Desktop, limiting its utility in GIS-centric environments.