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.