Show HN: OpenFreeMap – Open-Source Map Hosting
Use cases & demand
- Many commenters want a free or predictable-cost alternative to Google Maps/Mapbox after painful price hikes and surprise bills.
- Proposed uses include small business sites, neighborhood “rolodex” maps, civic hackathon projects, GPS tracking, startup apps, offline/low‑bandwidth use, and accessibility tools for visually impaired navigation.
- Several see OpenFreeMap as a drop‑in backend replacement for existing Leaflet/MapLibre apps, or as a backup to commercial providers.
Data sources & customization
- Property boundaries in the US are typically available via county GIS systems or tax assessor sites; commercial datasets (ReGrid, Corelogic) fill gaps.
- House numbers and POIs exist in the tiles but often aren’t shown by default; users can expose them by editing styles (e.g., with Maputnik).
- Some specialized maps (cycling) are hard to replicate because the OpenMapTiles schema compresses certain tags.
- Historical basemaps are requested; people point to OpenHistoricalMap and various historical map services, but coverage and accuracy are limited.
Architecture & formats
- OpenFreeMap distributes a Btrfs filesystem image of ~300M tiny tile files, served directly by nginx.
- Btrfs is chosen over ext4/ZFS due to inline small-file storage and flexible inode handling; about 60% of files live in metadata, saving space and boosting performance.
- Heavy use of hard links (e.g., ocean tiles) reduces duplication; scripts handle the ~64k hard-link limit per file.
- Alternatives discussed:
- MBTiles (SQLite), PMTiles (single-file archive), Versatiles, Apache Baremaps, EROFS images.
- Planetiler + Geofabrik for generating regional mbtiles/pmtiles.
- Benchmarks show nginx+Btrfs can saturate a 1 Gbps line; the bottleneck is bandwidth, not CPU.
PMTiles vs Btrfs debate
- PMTiles advocates emphasize serverless/static hosting and CDN edge caching.
- OpenFreeMap’s author reports poor latency with large (80–90 GB) PMTiles over Cloudflare range requests, especially on cold cache.
- Others note good range performance on S3 and in genomics workloads, suggesting Cloudflare/R2 specifics may be the real problem.
- There’s interest in head‑to‑head benchmarks (nginx+Btrfs vs pmtiles-serve vs Versatiles).
Costs, sustainability & monetization
- Current setup: several Hetzner dedicated servers with flat‑rate bandwidth; target is roughly $175/month covered by sponsorships/donations.
- Commenters warn about relying solely on donations and suggest: explicit business plans, paid tiers with SLAs, separate “free” and “premium” server pools, or commercial support/consulting.
- CDN options (Fastly, Cloudflare, Bunny) are discussed; sponsorships might help, but per‑TB pricing is often far higher than Hetzner’s effective cost.