PMTiles Swarm
PMTiles Swarm is a BitTorrent client and server that knows what a map is. Large PMTiles archives are expensive to host and slow to download from a single server. Swarm shares that load across everyone who has a copy, and it keeps track of what each archive actually contains.
Project Link: github.com/TechIdiots-LLC/pmtiles-swarm | GitLab
Key Features
Torrents for map archives
Create torrents from .pmtiles files, join existing torrents or magnet links, and import new builds automatically from watched folders or dated web locations.
RSS feeds that describe the map Each archive is published with its format, zoom range, bounds and tile count, so a subscriber can decide whether a multi-gigabyte download is worth starting. Plain RSS 2.0 with torrent enclosures also works with qBittorrent's built-in RSS auto-downloader.
Mirror or cache other nodes Follow another node's feed to mirror everything it publishes, or to cache only what you use.
Use the engine you already have Seeding is delegated to libtorrent, your existing qBittorrent, or an embedded WebTorrent client, so one node can serve a multi-terabyte library and browser peers over WebRTC at the same time.
Web console and tile endpoints A torrent-client-style web UI shows progress, peers, ratios and swarm traffic, and the node serves TileJSON and z/x/y tiles directly.
Quick Start
npm install
node src/index.js --config swarm.config.json
# then open http://localhost:8090
A Docker image is available as techidiotsllc/pmtiles-swarm. The repository's documentation covers engines, publishing, subscribing, security, running as a service, and reverse proxy setup.