• tananaev 3 minutes ago

    Awesome. I've been waiting forever for a vector OSM replacement. I already changed it to be the default for my open source GPS tracking project.

    • mholt 9 hours ago

      Something I'd be willing to pay for is historical tiles/data.

      I'm writing an application that lets you view historical data, and the problem is that most/all map services show only current data. It would be nice if the map reflected the year of the data we're layering on top.

      So if you want to make some money, there's an option for you!

      • wcedmisten 9 hours ago

        Have you heard of:

        https://www.openhistoricalmap.org

        I don't think you can pay for it, but I'm sure they'd accept donations!

        • petre 8 hours ago

          Interesting but not entirely accurate. Moldova has not existed as a state until 1991, after the dissolution of the USSR but it shows up on the map after WW2.

          • pininja 8 hours ago

            The great thing about open map projects is that they can be updated, and store a historical edit log along with discussions and sources for each change.

            • uneekname 8 hours ago

              As with other community projects such as Wikipedia or OSM, OpenHistoricalMap relies on keen-eyed volunteers such as yourself to improve their database!

          • uneekname 8 hours ago

            The key problem here is a lack of accurate data. OSM is amazing, but is constantly getting improved and closer to realtime "ground truth." Historical OSM data is usually worse all-around, rather than "equally good, but as of year XXXX"

            Perhaps there is a different dataset with better historical accuracy than OSM, but I do not know of one. You'd likely have to reduce your scope: trails in a specific park? Roads in a specific city?

            As another commenter notes, there is a sister project OpenHistoricalMap that focuses on mapping historical data. It is rather sparse compared to OSM, but super fun to explore around e.g. NYC.

            • runxel 6 hours ago

              As a hobby historian (not really haha) I'm interested in old streets and names particularly.

              Especially here in Europe / Germany, where entire quarters where bombed to rubbles newer streets do not match neither namely nor spatially.

              I loved how you could "move back in time" in street view. I think that has been killed too? There is a lovely Twitter/X account for Detroit tho: https://x.com/DetroitStreetVu

              • aiiane 3 hours ago

                You can still go back in time on Street View. There's a "See more dates" link next to the address info in the top left (at least on the desktop Maps interface) that when you click it opens a film strip of different dated captures for that location. Here's the 2007 capture of 1 Embarcadero (outside the Ferry Building in San Francisco) for example: https://maps.app.goo.gl/ArrucFgus9uMvdSaA

          • jenny91 14 hours ago

            I really like the idea.

            Why OMT instead of protomaps? The latter is clearly where the community is moving towards (albeit very slowly).

            I'm somewhat sceptical about the "free with no API keys" idea. I guess your service is not guaranteed to be up so no one too big will rely on it. But what if you start getting abuse or someone using them on some humongous site (e.g. one of those cheap restaurant email builders that always embed a map), and you start getting way too much traffic from random sources and websites. What would you do?

            • l3x 14 hours ago

              From the FAQs on GitHub [1]

              > What about PMTiles?

              > I would have loved to use PMTiles; they are a brilliant idea!

              > Unfortunately, making range requests in 80 GB files just doesn't work in production. It is fine for files smaller than 500 MB, but it has terrible latency and caching issues for full planet datasets.

              > If PMTiles implements splitting to <10 MB files, it can be a valid alternative to running servers.

              [1] https://github.com/hyperknot/openfreemap

              • apitman 3 hours ago

                That's an interesting claim. I make range requests to 100GB+ files (genomics) all the time for work and it works great. I've never considered total file size as directly related to latency in this respect, assuming you have some sort of an index of course.

              • bdon 12 hours ago
                • mistrial9 14 hours ago

                  ok except "full planet datasets" make little sense for terrestrial features. Splitting .. aka sharding the files into basic continents would make SO much sense. Asia is big, but no requests for Africa mixed in.. Australia would be manageable?

                  • hyperknot 14 hours ago

                    PMTiles could come up with a version in the future where instead of one 90 GB file, they have 9 thousand 10 MB files. That would work well I believe.

                    • bdon 12 hours ago

                      The latency for small files and ranges of large files is pretty similar on most storage platforms, but there are some exceptions like Cloudflare R2.

                      The main reason PMTiles is one file and not two or more files is that it enables atomic updates in-place (which every mature storage platform supports) as well as ETag content change detection in downstream caches. All of the server and serverless implementations at http://github.com/protomaps support this now for AWS, S3-compatible storage, Google Cloud, and Azure.

                      • wcedmisten 10 hours ago

                        Now I'm curious, what causes the latency for range requests with R2?

              • hyperknot 14 hours ago

                So Protomaps is a really full stack map platform, they are competing with kind of like 3-4 projects at once:

                - There is the Protomaps schema. It's competing with OpenMapTiles and Shortbread (https://shortbread-tiles.org/)

                - There is the Protomaps file format. It's competing with MBTiles and say Btrfs images in OpenFreeMap.

                - There is the Protomaps styles. It's competing with OSM Liberty and OSM Bright styles (https://github.com/maputnik/osm-liberty)

                - There is the way to host the tiles, on CloudFlare workers, range requests, etc. It's competing with MBTiles servers or OpenFreeMap's nginx servers.

                About getting abuse, how do you imagine it gets abuse? It's a static file showing OpenStreetMap data.

                I mean traffic is the only thing what can be a problem, but I think Hetzner should be good till 30-100 TB per server.

                • bdon 12 hours ago

                  1) The Protomaps schema is mostly a re-implementation of the Tilezen project https://tilezen.readthedocs.io/en/latest/ which is a linux foundation project. OpenMapTiles, which OpenFreeMap uses, while open source, does not have a license that encourages derivative works or enables distributing styles under a standard FOSS software license (https://www.npmjs.com/package/protomaps-themes-base). That's also one motivation for developing Shortbread which is at this point less developed than Tilezen.

                  2) The file format (PMTiles) addresses a different audience than either MBTiles or Btrfs images. Both of those require administering a server for tiles, while PMTiles requires static blob storage and nothing else. You do have the option of using a server like MBTiles/btrfs which ought to be comparable in latency, and that's documented here: https://docs.protomaps.com/deploy/ as well as Lambda, Cloudflare Workers, Google Cloud Run and Azure Serverless functions.

                  3) There are no existing styles for MapLibre GL that work off the Tilezen layer, generalization and tagging scheme, so we need to develop one style, with multiple themes.

                  • maelito 12 hours ago

                    > OpenMapTiles, which OpenFreeMap uses, while open source, does not have a license that encourages derivative works

                    Can you elaborate on this ? I'm derivating OMT and am quite worried now ^^

                    • bdon 12 hours ago

                      OMT use a CC-BY license: https://creativecommons.org/faq/#can-i-apply-a-creative-comm... (edit: link)

                      This means that software that implements OMT, even if written from scratch, cannot be re-used by other FOSS projects (Apache, BSD, GPL, AGPL, other software in the OpenStreetMap ecosystem, etc) without affecting the license.

                      Ideally for Protomaps it should be possible to re-use just one portion - like only the label layer with your own layers from other sources, or even bundle it as a JS dependency in another open source project - without affecting the license of downstream projects.

                      • dvdkon 7 hours ago

                        Are you talking about just the OpenMapTiles spec, or some adjacent software? I'm certain that you can build software to some specification without ever agreeing to the spec text's licence, and that a CC-BY licenced spec doesn't limit any implementing system's licence.

                        Even so, CC-BY is permissive and you could include CC-BY content in a, say, GPL project. You just need to include both licences.

                        • bdon 2 hours ago

                          > I'm certain that you can build software to some specification without ever agreeing to the spec text's licence

                          That is exactly the opposite of OMT's copyright interpretation: https://github.com/openmaptiles/openmaptiles?tab=readme-ov-f...

                          > You just need to include both licences.

                          That is the definition of license incompatibility as described in the Creative Commons documentation above. The license is open source and a good fit for if you are running a paid map SaaS or free service as an end product, but is not compatible with the open source ecosystem as a building block.

                  • bauruine 13 hours ago

                    I did 150TB+ on a 40 Euro Hetzner server for years without any issue and also did the same amount in a similar price range on multiple different providers. The cloud and CDNs charge a huge markup.

                    • hyperknot 13 hours ago

                      That's great to know! I know of one story where someone got terminated on Hetzner because of the bandwidth but it turned out he was also running a Tor node.

                • ryantgtg 8 hours ago

                  Neat!

                  We used to host our own mbtiles map for like $11/mo, but the problem was (this was prior to planetiler and people generating public worldwide mbtile dumps) there wasn't a free/cheap source for regularly-updated mbtiles. The dump from OpenMapTiles was not updated for years.

                  So we gave up and went to mapbox, where we regularly exceed the monthly free tier for web, but they give us a discount. Because that is a scary scenario and we are dying to pay a fixed monthly fee, I think we will try yours and donate!

                  • uneekname 8 hours ago

                    If your application allows for it, I also recommend checking out Protomaps / PMTiles. Brandon has some insanely cool work making a tile format and related infrastructure that scales nicely.

                    • ryantgtg 5 hours ago

                      I wanted to, but I was unable to get Protomaps working in our application, unfortunately. I'm not much of a js person (or a dev) and it was a bigger change than I could apparently handle in our rails app. Actually, thinking back on it, I think the main issue - or at least the one immediately presenting itself - was a CORS problem (a friend was hosting the PMTiles in their DO Spaces). And then I ran out of patience.

                      • bdon 2 hours ago

                        Thanks for giving it a try! If you're going to revisit this, we could improve the docs around setting CORS configuration on DigitalOcean: https://docs.protomaps.com/pmtiles/cloud-storage#digitalocea...

                        • stevage 5 hours ago

                          Yeah there are some pretty specific requirements for the server hosting the PMtiles that weren't well documented when I last looked at it.

                      • hyperknot 7 hours ago

                        Thank you for sharing the story! I hope OpenFreeMap can contribute either with the MBTiles / Btrfs dumps, or with the public instance.

                        • ryantgtg 3 hours ago

                          Thanks for offering the service! The intensity of map tile pricing is always a little baffling to me. For example, with mapbox this month we (got linked to on The Verge and) exceeded the free tier on the 22nd. Two days later and we have a $40 bill and counting, with a week left in the month. We're a free, open source project and can't handle dynamic pricing like this.

                          My only feedback on your tiles is the lack of POIs. Mostly just bus stops and an occasional supermarket in my area. But I see from the github that this is on the roadmap.

                      • sorenjan 11 hours ago

                        This is really cool, I'll definitely look at this if I need to embed a map in the future. Are there any libraries that lets you plot geographic data on top of this in Python, with Matplotlib or similar?

                        Slightly off topic, but how come there doesn't seem to be any open projects using the Overture maps data?

                        > Overture is a data-centric map project, not a community of individual map editors. Therefore, Overture is intended to be complementary to OSM. We combine OSM with other sources to produce new open map data sets. Overture data will be available for use by the OpenStreetMap community under compatible open data licenses. Overture members are encouraged to contribute to OSM directly.

                        Sounds like it would be a good data source, or am I missing something?

                        https://overturemaps.org/about/faq/

                        • wcedmisten 10 hours ago

                          Overture is an awesome resource because it has more coverage than OSM, but at the cost of accuracy. When I was considering using it for restaurants in surprisedatespot.com, I found that it has a lot more automated content with bad geocoding (imprecise locations) compared to OSM.

                          E.g. restaurants can come from an old Facebook page and the geocoding might not be accurate compared to a survey.

                          So where OSM might have a restaurant that closed 8 years ago, overture has every restaurant that's been at that location for the past 8 years.

                          • richiebful1 9 hours ago

                            Folium is a useful library for plotting geographic data in Python. It generates a webpage with the map data displayed with Leaflet.js

                            https://python-visualization.github.io/folium/latest/ https://leafletjs.com/

                            • kylebarron 7 hours ago

                              I develop Lonboard [0], a Python library for plotting large geospatial data. If you have small data (~max 30,000 coordinates), leaflet-based Python libraries like folium and ipyleaflet can be fine, but because Lonboard uses deck.gl for GPU-accelerated rendering, it's 30-50x faster than leaflet for large datasets [1].

                              [0]: https://developmentseed.org/lonboard/latest/

                              [1]: https://developmentseed.org/lonboard/latest/how-it-works/

                            • spl757 9 hours ago

                              I think this is great, and also that you are getting some good advice in the comments about covering costs and/or monitization. I'd add my thoughts, but others have already expressed them here so I just wanted to say I love seeing this kind of philosophy expressed in a project like this.

                              edit to fix typo

                              • RagnarD 10 hours ago

                                If it does a good job, somebody should get paid for it. I wouldn't rely on using this if it depends on donations (I call this begware). People expect to pay for services and products.

                                • hyperknot 9 hours ago

                                  My main project is MapHub, it gives me my income. It's not an income like you'd get in a FAANG job, but still, I'm running it for making a living.

                                  For MapHub to work, I had to invest in my own tile server infrastructure: there is no way I could have made MapHub financially profitable with a 3rd party tile provider. So I kept iterating and iterating on the tile server infrastructure and after 9 years I arrived at a state which was worth open-sourcing.

                                  I'm happy if this project gets to the point from sponsorship where my hosting bill is covered ($175 per month), but it doesn't have to be financially successful on its own.

                                  I'll keep working on it because it's part of my main business, not because I beg for donations.

                                  • Aeolun 7 hours ago

                                    As long as it stays with one server that’s fine. But what do you do in the hypothetical scenario that Facebook decides to use your tile server?

                                    Nginx is fast, but I think that’s asking too much of it.

                                    Of course that problem hasn’t happened yet, but it’s what I’d be worried about.

                                    • hyperknot 6 hours ago

                                      I benchmarked and nginx can host 30 Gbps on cold cache, on actual real world load. (I played back a log of 1 million real world requests).

                                      So using nginx in a 1 Gbps server is definitely not asking too much of it, or I might not have understood your comment clearly.

                                      Why would Facebook decide to use my tile server? When a company's business depends on having reliable map tiles, they either self host or have an Enterprise deal with Mapbox, etc.

                                      • stevage 5 hours ago

                                        I have actually worked on Facebook's mapping infrastructure. They moved away from Google Maps and Mapbox because they wanted maximum control.

                                        The specific example you give is not going to happen.

                                      • tomarr 8 hours ago

                                        Have you been running this for long? I've looked for something in this space for the last couple of years but only came across MapTiler /AGOL and a few others, that were either pretty expensive (for small datasets) or restrictive functionality.

                                        If so I'd say you need to work on the SEO and findability side.

                                        • hyperknot 8 hours ago

                                          I've literally just launched it.

                                      • dawnerd 9 hours ago

                                        In that case just use one of the many map tile providers already out there. This is huge for people that don't want to pay but also can't justify using that much server resources just to self-host.

                                        • bdjsiqoocwk 9 hours ago

                                          > I call this begware

                                          So disrespectful and so ignorant. You rely on free software without even knowing it but are happy to not dig around much and benefit from it. But heres a new project and you call it begware.

                                          If you have nothing nice to say, don't say anything at all.

                                          • patrickaljord 9 hours ago

                                            it says you can host it yourself and that he may offer a paid hosted plan in the future

                                            • yazzku 8 hours ago

                                              > (I call this begware)

                                              This only reflects how fucking stupid you are. If you read the post in any detail, you'd realize the author has been running a paid service for a while (9 years) and does not need your help.

                                            • scoofy 5 hours ago

                                              Hello. This seems like exactly something I'm looking for to save cost for my project: https://golfcourse.wiki

                                              I'm currently using Stadia Map Tiles from when they went from free to paid.

                                              If I'm understanding you correctly, I can switch to your instance to serve tiles to my site for free once again? I'm very happy to pitch in some cash to help keep the servers running.

                                              I am running leaflet.js and I guess I should be able to figure out how to migrate, but if you already have a tutorial somewhere, please let me know.

                                              This is really cool.

                                              • wongarsu 15 hours ago

                                                I understand you don't plan to make money, only to cover costs. Nevertheless, I believe you would benefit from a more explicit "business plan". Your Gold support plan kind of fulfills that purpose (email support and an invoice), but right now it's kind of hidden in the middle of a donation request, and flavored as a donation. You might convince a lot more mba-type people to support you if you also extend the same offer under a heading like "business plan" (where you make it clear that commercial use is free, but you can subscribe to this totally-not-a-donation plan for email support)

                                                • hyperknot 14 hours ago

                                                  Do you think it'd be more clear to only accept donations on GitHub Sponsors and only offer actual support plans on the website? I mean actual email support, helping companies migrate their existing map stack to OpenFreeMap.

                                                  • lacoolj 10 hours ago

                                                    If you aren't doing this for a living and getting paid for it, or having someone else do it, you should reconsider either A) providing the support or B) how you make money.

                                                    You may think it noble to "only take donations" just to pay the hosting cost, etc. but providing people support is a completely different thing. People are stupid, needy and inconsiderate of your time, feelings and experience.

                                                    If you don't want to run ads, great! But your time should be compensated fairly as well. You should be charging businesses for things, with a substantial cost for substantial work. Charging a business is not the same as charging an end user and you should not be averse to doing so.

                                                    • nelsonic 13 hours ago

                                                      100% keep sponsorship separate from paid support.

                                                      • hyperknot 12 hours ago

                                                        Thanks, I've thought about it and rewritten the whole donations / sponsorships / support plan section. What do you think?

                                                      • gmiller123456 12 hours ago

                                                        The problem with putting different options in different places is that a lot of people will only ever see one of the options.

                                                        • 3np 14 hours ago

                                                          Would be super cool if you have a bitcoin and/or monero option. Even if just address for donations and not as payment for support.

                                                        • jszymborski 14 hours ago

                                                          I second making a very generous free tier, and then charging reasonably for more requests in wide buckets.

                                                          As a user, free or paid, it'd give me a lot more faith in this living past tomorrow.

                                                          • hyperknot 14 hours ago

                                                            I definitely not want to charge for requests, that's the founding principle of this project.

                                                            And the risk of this project is largely mitigated by offering the full repo as open-source, so you can always self host this if needed.

                                                            • wongarsu 14 hours ago

                                                              If you don't want to charge per request, you could also offer two pools of backend servers: free servers that are provided on a best-effort basis with fair-use-policy, and paid servers that are exclusive to people in the $150/month plan.

                                                              The latter should be easier to manage with more predictable traffic, while giving you more leeway to deal with abuse on the free servers if it ever becomes an issue.

                                                              • hyperknot 14 hours ago

                                                                Yes, I was thinking about that, it might actually be a good idea. Provide a premium service with SLAs, while providing the SLA-less service for free, with two pool of servers.

                                                          • stevage 5 hours ago

                                                            Yeah it is way easier for someone at a company to get approval for a paid service than for a "donation" of any kind, which raises lots of red flags.

                                                            • dheera 10 hours ago

                                                              To be honest I don't see the problem with making commercial use non-free.

                                                              (a) They're making millions, you deserve a cut of that.

                                                              (b) If making money makes you more likely to be around in 10 years, that's attractive to businesses. Nobody knows when your donations might suddenly dry up.

                                                              • hyperknot 9 hours ago

                                                                The thing is that hosting this really isn't that expensive. My first GitHub Sponsors goal is to reach $175 per month, which would cover the hosting on Hetzner. Of course this cost can grow if the project gets more popular, but it's a good start!

                                                                I honestly believe this project can cover $175 per month eventually.

                                                                Of course there is the countless hours which went and which can possibly go into this, but to cover the hosting is still meaningful.

                                                                • dheera 9 hours ago

                                                                  I mean, sure, but

                                                                  Let's say 1 year from now your day job gets toxic and you have to work 18 hours a day just to pay your rent and expenses. Are you still going to maintain this?

                                                                  What if the economy goes to shit and you have trouble scraping that $175/month? How long are you going to pay $175/month for something that isn't making money?

                                                                  What if, instead, this became a part-time job of yours?

                                                                  If I was a commercial user of your product, some assurance that your random personal situations aren't going to affect the product stability for a long time would be a good thing.

                                                            • maelito 12 hours ago

                                                              Related : I'm building https://github.com/laem/cartes, an alternative to Google Maps.

                                                              On top of a custom protomaps tileset and a few other MapTiler options (such as satellite and hiking), it packs a search engine, a basic OSM place UI, transit calculators (walk, bike with profiles, transit, car), small features like ruler and favorites, transit maps, photos of places, place search by categories, and the French open source street view Panoramax.

                                                              Of course, given the scope, its alpha software.

                                                              It's built locally for France and French speaking users, though most of the code is English, some data sets are not. I'm spending ~ 50 % working on transit, lots need to be done.

                                                              You can test it here : https://cartes.app.

                                                              The aim is not to provide map tiles as an API to other project, but to build a UI on it.

                                                              • zaik 10 hours ago

                                                                Wow this is one of the best Google Maps clones I've seen so far. Is there a plan to translate the UI into other languages than French? I would be willing to help out, if there is a Weblate interface or something similar.

                                                              • iudqnolq 10 hours ago

                                                                I see you're sourcing images from Wikimedia. Have you found any other good sources? I'm working on indexing images by place taken for my own project and am primarily very slowly and jankily enumerating the flickr API. (You can see https://plantopo.com/geophotos for a pre-alpha view of where I have coverage. Zoom in where there are blue dots and click the map to search. Don't click Oregon or Washington because of a bug I'm working on)

                                                                Are you using opentripplanner for routing?

                                                                • maelito 8 hours ago

                                                                  Wikimedia is a totally underrated source of photos.

                                                                  The problem is filtering good ones. See my PR of the day, where I'm using only the images that are featured on Wikipedia pages. It gives better results than google maps in lots of places. Also some weird pictures like logos but I'm confident they can be ruled out.

                                                                  Your map is cool !

                                                                  https://plantopo.com/geophotos#13.92/50.91621/-1.37752

                                                                  https://cartes.app/?photos=oui#13.92/50.91621/-1.37752

                                                                  With this second link you'll understand the why of my PR : there's just too many Wikimedia photos ^^

                                                                  Edit : PR merged, you'll see less photos in 1 minute https://github.com/laem/cartes/pull/611

                                                                  • iudqnolq 5 hours ago

                                                                    Interesting! I'll definitely check out Wikimedia.

                                                                    My project is for planning hiking trips so the areas I'm searching typically are places in the wilderness that don't have many photos. Right now I'm not doing any ranking. I just semi-randomly take ten photos for the search area.

                                                                  • maelito 8 hours ago

                                                                    > Are you using opentripplanner for routing?

                                                                    No, Motis. I picked the first I could install on my computer at the time. Turns out, it's a very promising project.

                                                                    But switching to OTP wouldn't be such a problem. GTFS in, JSON out. It's a one day work change for basic functionnality.

                                                                  • ivanjermakov 12 hours ago

                                                                    Oh, there is another pal who's streaming making his own maps, fairly entertaining: https://youtube.com/playlist?list=PL980gcR1LE3L8RoIMSNBFfw4d...

                                                                    • maelito 12 hours ago

                                                                      Thanks ! I've thought about making an "education" project but it takes time, and after 9 months of working on it I'm now convinced it's possible to build a basic Gmaps alternative in a few years. Business model still missing though !

                                                                      Edit : just watched some minutes, he's rebuilding low-level components, like route finding. Impressive stuff but not quite user-friendly.

                                                                      • ivanjermakov 11 hours ago

                                                                        > not quite user-friendly

                                                                        Yes, it does not seem like he makes a business or a product for a wide audience. It's more about exploring the unknown, teaching programming and being entertaining.

                                                                        Although I adore such ambitious projects that seem insurmountable at the first glance.

                                                                    • hyperknot 11 hours ago

                                                                      Wow, now that's an ambitious project! I wish you a lot of success with it!

                                                                      • maelito 10 hours ago

                                                                        Thanks ! It consists of using more focus initiatives like yours and bdon's :)

                                                                    • curzondax 12 hours ago
                                                                      • Hypnosis6173 9 hours ago

                                                                        Just saw a german Talk about this yesterday.

                                                                        Versatiles provides a free and open to use Server under tiles.versatiles.org which is sponsored by People around the CCC.

                                                                        Versatiles is also the First to offer a free to use vector card server, which is also amazing.

                                                                        (For the German Readers: https://media.ccc.de/v/ds24-406-versatiles-freie-karten-fr-a...)

                                                                        • hyperknot 7 hours ago

                                                                          Yes, Versatiles is a nice truly open project! One of the long term plans for OpenFreeMap is to migrate to Shortbread + Versatiles styles.

                                                                        • mannyv 15 hours ago

                                                                          FYI if you need a CDN you can get bulk pricing from fastly with a monthly commitment.

                                                                          I'm not sure if their hosting works for you because you might be serving byte ranges. I think we're paying 2k/month usd for like 300TB/month. Backblaze-to-fastly is free, so no egress.

                                                                          Love your project, more power to you. I'll be using this for a few side projects for sure.

                                                                          • hyperknot 15 hours ago

                                                                            At Hetzner, the bandwidth is unlimited in theory. In practice, there are stories of terminating accounts of those who used too much.

                                                                            I don't think this project will ever make $2k per month. TBH, I'd be happy it it ever reaches $200 per month. I have to be very careful about what hosting providers to use and CDNs are out of the question.

                                                                            • wongarsu 14 hours ago

                                                                              I don't think it's still offered anywhere in the web interface, but Hetzner offers servers with 10Gbit uplink, with traffic charged at 1€/TB. Depending on resource usage this can be more cost effective than renting multiple servers, and paying for your traffic should prevent account termination for excessive traffic use.

                                                                              https://docs.hetzner.com/robot/dedicated-server/network/10g-...

                                                                              • e12e 5 hours ago

                                                                                If I were running fastly, I'd donate bandwidth so that you would implement turn-key, bring-your-api-key fastly support to your open source setup!

                                                                                As for other cdns - I remember https://neocities.org/ built their own cdn - but I couldn't immediately find a blog post about the cdn, or something related in their GitHub (unless every node runs part of it, which would make sense, I guess).

                                                                              • j45 15 hours ago

                                                                                I wonder if other CDNs can help.

                                                                                In addition to Cloudflare, bunny was on the radar too.

                                                                                • hyperknot 15 hours ago

                                                                                  Bunny is also $10-$60/TB/month.

                                                                                  I believe Hetzner should not have any problem with using 100 mbps out of the 1 Gbps on their servers. That's 30 TB/month for free, per server. It'd be $300-$1800 per month on Bunny.

                                                                                  • tiluha 15 hours ago

                                                                                    For this use case i would use the bunny volume tier which is $5/TB

                                                                                    • bauruine 13 hours ago

                                                                                      That's still an order of magnitude more than what you can get with rented servers. I pay between 0.2 and 0.4 per TB doing nearly 2000TB a month.

                                                                                      • j45 12 hours ago

                                                                                        Agreed. Getting a dedicated fibre link colocated is a great way to backfill and push the free tiers of CDNS.

                                                                                        Just like the cloud becoming easier to run on your own environments, tons of bandwidth is accessible too.

                                                                              • noahjk 15 hours ago

                                                                                This is neat! After the huge price increase a couple years ago with GMaps, it looks like you’ve come up with a creative way to offer much of the same functionality for most users. It’s unfortunate to still see small business sites to this day with error messages on their map widgets because of the API change from Google.

                                                                                I know nothing about mapping, but I’ve always had a dream of making a private neighborhood map which labels each house with people, sort of like a visual Rolodex. It would be great to have property boundaries, too. Do you have any suggestions for places to start? I don’t even know what file formats would hold this sort of data.

                                                                                • tony_cannistra 10 hours ago

                                                                                  If you live in the US, you can get parcel information from your local tax assessor's website, usually. Sometimes it's devoid of owner information. Such cases usually require going to a company like ReGrid or Corelogic to purchase the data.

                                                                                  I work for a company (onXmaps) which produces user-friendly maps of such information. You could use our app to create such a "rolodex" of your neighborhood, by annotating individual parcels with your neighbors' information.

                                                                                  https://onxmaps.com

                                                                                  • hyperknot 15 hours ago

                                                                                    Thanks! I don't know where you'd be able to get property boundaries, I guess it's usually not open-source / public data? Probably depends on the country / city.

                                                                                    • ryandrake 13 hours ago

                                                                                      In the USA, parcel outlines are commonly handled at the county level. You can often do a search for “[your county] GIS maps” and find their ArcGIS map of the county property lines with metadata about who owns what. Who knows if any of them are willing to share the data, but that’s where it lives.

                                                                                    • allannienhuis 15 hours ago

                                                                                      this might be helpful?: https://github.com/martynafford/natural-earth-geojson/blob/m...

                                                                                      public domain map data in GeoJSON format.

                                                                                      also, for google maps I know you can respond to interactions with the supplied points of interest like buildings, including homes, and from that point you can obtain an address via reverse geocoding or some other technique. I expect other mapping tools may have similar abilities but I don't have any experience with anything other than Google.

                                                                                    • nevi-me 5 hours ago

                                                                                      I've been using Google maps for a decade, and when they started offering a $200 credit, it was fine until my bill started going up to $200-300 after the credits.

                                                                                      It's for a hobby project that's outlasted well-funded projects, so the traffic kept increasing as competitors folded.

                                                                                      A few years back, I tried to run my own tileserver, but the difficulty of creating an updated vector tileset put me off, and I just continued paying the Google tax. Last month I finally got a really nasty bill, and it forced me to cancel my weekend plans and change to Mapbox.

                                                                                      I like Mapbox for its other API features, but I'm wondering if I could alternate between this and Mapbox, so I keep my overall costs lower. I'd prefer to donate a fixed amount instead.

                                                                                      Question: Does anyone have experience with switching the underlying OSM mapping services either programmatically or by webpage? I'm more asking around the end-user experience. I suppose I have to check what features of mapbox-gl 2+ I use that won't be available in the libre forks.

                                                                                      • stevage 5 hours ago

                                                                                        If you can be more specific in your questions I can probably help. I've been full time consulting in mapbox and maplibre for 7 years.

                                                                                        • professor_x 2 hours ago

                                                                                          Im just someone interested in geospatial. Im a regular SWE. Seems like <1% of SWE jobs have even a nominal geospatial element like putting pins on a map.

                                                                                          Any tips in general? Not just for breaking in but what you wish you knew

                                                                                          • stevage an hour ago

                                                                                            That's an extremely general question. But mostly my take is: geospatial is not that hard. There are a lot of dinosaurs out there and legacy GIS companies who want you to believe that GIS is special and requires all kinds of specialist knowledge. But for most applications, you can just treat it as, data that happens to also have latitudes and longitudes. And then, it really is just points, lines and polygons the vast majority of the time.

                                                                                            Once you have specific goals about what you're trying to do with data, and how to visualise it etc, then there are usually straightforward solutions to achieving them. The difficulty can sometimes be describing them, or forming the right conceptual model.

                                                                                            It's worth getting really familiar with the GeoJSON spec, and using that as your data structure wherever possible.

                                                                                          • nevi-me 4 hours ago

                                                                                            Thanks, I mainly want to be able to load either mapbox-gl or its alternatives, then not change the rest of my code. I don't yet know how incompatible mapbox-gl 3 is with the libre options.

                                                                                            • stevage 4 hours ago

                                                                                              Best way is to try it. It just depends whether you have used any really recent features.

                                                                                          • stevage 3 hours ago

                                                                                            Very nice!

                                                                                            Curious that you describe the OSM Bright style as "abandoned by their upstream project". I see edits 4 months old (https://github.com/openmaptiles/osm-bright-gl-style), but I only looked superficially. Is it really abandoned?

                                                                                            • mike_d 14 hours ago

                                                                                              I absolutely love this project and had a similar idea on my todo list for a while because I agree there should be at least one free open map provider with a developer friendly stack.

                                                                                              If you want free servers/bandwidth around the world, hit me up. My email is in my profile.

                                                                                              • hyperknot 14 hours ago

                                                                                                Thanks a lot for the offer, I'll definitely reach out!

                                                                                              • baggachipz 13 hours ago

                                                                                                I currently use the cyclosm[1] as a tile map for my small web app. I'd love to use OpenFreeMap instead, as cyclosm is quite slow. Is there any way I can do this for bicycle maps? Awesome project.

                                                                                                [1] https://www.cyclosm.org

                                                                                                • maelito 12 hours ago

                                                                                                  As far as I know, no vector equivalent of cyclosm has been made. OpenMapTiles's data are too poor ("compressed" : different cycle way types are summarized in a unique tag) to make a great cycle map.

                                                                                                  • hyperknot 12 hours ago

                                                                                                    What you need is a bike specific style for OpenMapTiles schema. Maybe you can find it on GitHub. Once you have the style, you can use Maputnik to tune it to your liking like on this link: https://maputnik.github.io/editor/#0.84/0/0

                                                                                                    • baggachipz 9 hours ago

                                                                                                      I found this[2] but I wouldn't know the first thing about how to integrate it, stand it up, serve it, and consume it with leaflet. I'll admit, the world of OSM is quite a labyrinth.

                                                                                                      [2] https://github.com/cyclemap/openmaptiles-cycle

                                                                                                  • nathancahill 15 hours ago

                                                                                                    Would be interested in seeing a cost bar vs donations bar on the website.

                                                                                                    • hyperknot 15 hours ago

                                                                                                      Currently I'm paying for 3 dedicated servers at Hetzner and getting total donations of $11 USD per month.

                                                                                                      Making this automatic might not be easy, but I might do it one day, it might help with the donations.

                                                                                                      • linsomniac 13 hours ago

                                                                                                        >getting total donations of $11

                                                                                                        That total has gone up. :-)

                                                                                                        Not currently having any plans of using openfreemap, but I like the cut of your jib. I'm currently in the process of generating aerial tiles for Colorado, and updating 2 of our map tile sets (bitmap tiles, Here and OpenStreetMap), but at some point we should switch to vector tiles. When we do I'll try to get a business sponsorship going, but it is nearly impossible for me to get the company to pay for sponsorship. :-(

                                                                                                        • hyperknot 12 hours ago

                                                                                                          Thank you so much for your donation, it's appreciated!

                                                                                                    • e12e 5 hours ago

                                                                                                      Thank you so much for sharing the setup and the hosted service.

                                                                                                      I'm a little curious about the setup bit for (self) hosting - it's essentially a series of bespoke python scripts? Not cloud init, not Ansible - and not shell scripts - nor Terraform/tofu.

                                                                                                      Would love to hear a few thoughts of how you arrived at this setup - and if you re-use parts for other projects?

                                                                                                      • stevage 5 hours ago

                                                                                                        Not OP but I do the same thing, except with NodeJS.

                                                                                                        I spent a long time learning Salt stack (like Ansible) but it never really paid off. When you're writing o config to set up one specific project on known infrastructure you might as well just code it in the scripting language you like best.

                                                                                                      • timmg 14 hours ago

                                                                                                        Just want to say thank you for making this project. I think there's a good chance I will use it for a (very low bandwidth) personal project.

                                                                                                      • lipitic 13 hours ago

                                                                                                        This is amazing!

                                                                                                        Last year I made a website for my gf where I had to build a custom map of Paris, and I struggled a lot trying to figure out how to actually make a map from scratch while avoiding paid services like mapbox.

                                                                                                        I finally managed to hack something up using openstreetmap data, then some manual work in QGIS to customize the look, and voila - I had a bunch of folders filled with raster tiles.

                                                                                                        This site is deployed for free on Netlify and is basically just a React SPA, a public folder with tiles, and I give the tile URL template to the OpenLayers lib to display it all nicely on the screen. Simple and it works!

                                                                                                        I always wanted to improve the map a bit by using vector tiles as I think it looks nicer, but I thought you need a dedicated server for that? (unless I'm mistaken, correct me if I'm wrong)

                                                                                                        • hyperknot 12 hours ago

                                                                                                          Yes, you need a dedicated server with 128 GB RAM to generate the tiles. For hosting the tiles, you can use anything with 300 GB disk space, CPU is not important.

                                                                                                        • sphars 15 hours ago

                                                                                                          Always on the lookout for self-hosted map servers, so I'll definitely try this one out.

                                                                                                          Slightly off-topic, one thing I'm having a hard time finding is satellite imagery. I need to self-host an offline web application using CesiumJS, and while I can spin up a map server, I can't find satellite imagery for free or cheap. I've used MapTiler[0], their server works great and they offer low-res satellite imagery for free/testing, but their high-res images are out of my price range.

                                                                                                          Anyone know of resources for downloading offline images of satellite imagery, compatible with OpenFreeMap or other server for use with CesiumJS? Doesn't have to be super recent images but would be nice.

                                                                                                          [0]: https://www.maptiler.com/

                                                                                                          • hyperknot 15 hours ago

                                                                                                            Satellite images are definitely expensive, they are by far the biggest cost for MapHub. I spend more on satellite images per month than on servers. I couldn't find a high quality satellite images from free sources.

                                                                                                            • kisamoto 12 hours ago

                                                                                                              Currently researching this myself? Have you explored the satellite images from ESA/NASA? They are painful to discover but they're available to download for free and fairly (3-6 months) up to date.

                                                                                                              • sphars 9 hours ago

                                                                                                                I have, though admittedly not deeply enough. Agreed about the discoverability though, I never could quite find what I'm looking for (and perhaps I don't know exactly what I'm looking for)

                                                                                                            • cheeaun 15 hours ago

                                                                                                              Very curious to know more about this, regarding PMTiles:

                                                                                                              > Unfortunately, making range requests in 80 GB files just doesn't work in production. It is fine for files smaller than 500 MB, but it has terrible latency and caching issues for full planet datasets.

                                                                                                              Wondering which part incurs the latency here.

                                                                                                            • swijck 12 hours ago

                                                                                                              I've been waiting for a good alternative to the paid map providers for a while but none of them have really hit near the level of feature parity I needed to be a good enough replacement.

                                                                                                              • jnettome 11 hours ago

                                                                                                                Right on time! Thank you and congratulations for your release. I was looking for gmaps and mapbox alternatives this morning and right now I'm considering this.

                                                                                                                • vinibrito 9 hours ago

                                                                                                                  About displaying the vector tiles, which project goes well with it? I like Leaflet and worked extensively with it, but it has some compatibility problems with vector tiles and other small issues when dragging vector tiles for example. Is Maplibre the gold standard for vector tiles now?

                                                                                                                  • hyperknot 8 hours ago

                                                                                                                    Yes, MapLibre is the gold standard now.

                                                                                                                    • petre 8 hours ago

                                                                                                                      Maplibre works fine, there is even a plugin so you can use it in Leaflet. And it's a well maintained project.

                                                                                                                      The other one is Mapbox GL from which Maplibre was forked. But you only use that with their tiles now.

                                                                                                                      • maelito 8 hours ago

                                                                                                                        Yes. It's active. But it's imperative. I didn't find a good React interface to MapLibre.

                                                                                                                        See Streetcomplete switching to MapLibre.

                                                                                                                    • btbuildem 9 hours ago

                                                                                                                      Very cool, love the various tile sets (especially the 3d layer!)

                                                                                                                      One thing that tripped me up is the zoom -- the affordance for zoom in/out across most other mapping UIs is via mouse motions -- how come in your demo it's restricted to the +/- buttons? Perhaps I missed something...

                                                                                                                      Thanks for sharing this, looks very neat.

                                                                                                                      • mholt 9 hours ago

                                                                                                                        That's something that most tile viewers let you customize in the code. Sometimes you want to disable scroll wheel zoom so as to not interrupt page scrolling, like when the map takes up a large portion of the width of the page.

                                                                                                                        • hyperknot 9 hours ago

                                                                                                                          On the main page I disabled scroll zoom, because it hijacks your scroll and literally you cannot scroll through the map. It makes sense for full-screen maps only.

                                                                                                                          Of course, you have 100% control over exactly what controls you configure with MapLibre, when you set up your app.

                                                                                                                          • btbuildem 8 hours ago

                                                                                                                            Ah nice, of course it's configurable :)

                                                                                                                        • bpiroman an hour ago

                                                                                                                          leafletjs and openstreetmap is also cool

                                                                                                                          • thinkingemote 15 hours ago

                                                                                                                            Looks great love the free tiles and no limits or API keys.

                                                                                                                            Question, why use btrfs?

                                                                                                                            • hyperknot 14 hours ago

                                                                                                                              So a full planet OSM extract is about 300 million binary files, in total about 90 GB. The most popular ways to store it:

                                                                                                                              - MBTiles - an SQLite file, each file is a row in a table, you need a server to serve it.

                                                                                                                              - PMTiles - a single file, optimised for serverless usage.

                                                                                                                              - Extract them into a directory, which in practice should be on a partition image. This is the approach I choose.

                                                                                                                              I tested ext4 and Btrfs and I choose Btrfs. The reason is how ext4 and Btrfs handles inodes. Btrfs handles inodes so much better compared to ext4, it doesn't allocate them at start and also allows putting tiny files right with the metadata.

                                                                                                                              Because here the average tile size is only 405 bytes, most of the tiles can actually stored with the Btrfs metadata block. From the latest run:

                                                                                                                              Btrfs data is 51.57GiB

                                                                                                                              Btrfs metadata is 84.37GiB

                                                                                                                              • ahlCVA 11 hours ago

                                                                                                                                This sounds like a perfect application for EROFS[1]. While it comes from an embedded systems background, it has seen some usage in container use cases and is moving towards a general "mountable tar" application. It would also avoid the tedium you have to go through in shrink_btrfs.py because you can just generate the image out of a tree.

                                                                                                                                I wanted to give repackaging the btrfs image a shot but the download was pretty slow - I assume your server is getting HN-hugged a bit so I didn't want to make it worse and stopped the download.

                                                                                                                                [1] https://erofs.docs.kernel.org/en/latest/index.html

                                                                                                                                • hyperknot 10 hours ago

                                                                                                                                  Thanks a lot, I didn't know about it! I also liked the fact that Btrfs is probably super well tested in the Linux kernel by now.

                                                                                                                                  btrfs.openfreemap.com just a public Cloudflare bucket, no idea why it might be slow.

                                                                                                                                  • ahlCVA 10 hours ago

                                                                                                                                    > I also liked the fact that Btrfs is probably super well tested in the Linux kernel by now.

                                                                                                                                    btrfs has certainly been around for longer, but in my (embedded systems only) experience, EROFS has been pretty solid - it's slowly being picked up by Android, so it is definitely seeing a lot of use in the wild (probably surpassing btrfs by the number of installations already).

                                                                                                                                    > btrfs.openfreemap.com just a public Cloudflare bucket, no idea why it might be slow.

                                                                                                                                    I'm getting 30 MiB/s (on a gigabit uplink) - not great, not terrible. A .torrent would be nice but I guess outside of being on the HN front page full-planet downloads by different people won't synchronize enough for this to be useful (and using web seeds is problamtic in its own right with small-ish chunks).

                                                                                                                                • thinkingemote 12 hours ago

                                                                                                                                  Do you think btfs would work well for old school pre rendered raster tiles on disk?

                                                                                                                                • c0nsumer 11 hours ago

                                                                                                                                  I apologize if this is something stupid, or answered elsewhere, but is there a good way to trim Planet down to a smaller area?

                                                                                                                                  I've been making some custom map stuff for mountain bike trails and I'd really like to move to self-hosted vector tiles for all layers, but too much of what I find says to start with Planet.osm when all I really need is a State (in the US) or even a few-miles-wide area.

                                                                                                                                  (My goal is to basically snapshot OSM data, generate tiles, and use that until I decide to do another snapshot down the line, so the underlying data doesn't change. And limit it to a small area because that's all I need.)

                                                                                                                                  Examples of maps I've done this way, and want to improve, are: https://trailmaps.app/ramba/ and https://trailmaps.app/dte/

                                                                                                                                  • hyperknot 10 hours ago

                                                                                                                                    If you know the tile numbers, you can just copy them out of the Btrfs image.

                                                                                                                                • sandreas 15 hours ago

                                                                                                                                  Afaik btrfs supports incremental send / sync very efficiently, so if you just want an update it saves bandwidth

                                                                                                                                • jack_riminton 15 hours ago

                                                                                                                                  I'm relatively new to mapping, can you explain the difference between running Leaflet and a free map tiling provider compared to your product?

                                                                                                                                  • hyperknot 15 hours ago

                                                                                                                                    As far as I know, there are no "Free Map Tiling provider"-s. This project aims to be exactly one. You can use it with Leaflet using the https://github.com/maplibre/maplibre-gl-leaflet plugin.

                                                                                                                                    • kisamoto 12 hours ago

                                                                                                                                      I asked the question as a top level comment but also duplicating here. Isn't Apache Baremaps a "free map tiling provider"? Or do I misunderstand what a tiling provider is?

                                                                                                                                      https://baremaps.apache.org/

                                                                                                                                      • hyperknot 12 hours ago

                                                                                                                                        They are providing the building blocks for making a self-hosted vector tiles server, they don't actually host the tiles.

                                                                                                                                      • jack_riminton 13 hours ago

                                                                                                                                        Interesting thanks, I've used map tilers in the past without paying, maybe I just never came up against any rate limiting

                                                                                                                                    • NKosmatos 15 hours ago

                                                                                                                                      Thanks for this free service Zsolt. I hope it's not abused (too much traffic) and that donations from real users fund this very good initiative ;-)

                                                                                                                                      On a related subject, I remember seeing MapHub sometime ago and I have it in my bookmarks for one of my (forgotten?) projects. Whenever I find some free time I need to sit down and try the free tier to see if it will do what I have in mind.

                                                                                                                                      • hyperknot 15 hours ago

                                                                                                                                        Thanks a lot for your words! I'm also curious whether the donations will be able to cover the bandwidth costs. Currently I'm paying for 3 dedicated servers at Hetzner and getting a total of $11 per month from donations.

                                                                                                                                      • maxmcd 15 hours ago

                                                                                                                                        Hey, just curious. If you have no Cloud/LB/CDN how are you routing requests to datacenters? Anycast? DNS? Something else?

                                                                                                                                        • hyperknot 15 hours ago

                                                                                                                                          Round Robin DNS. The browser selects the best server, based on ping or some other internal metric.

                                                                                                                                          Also thanks for the donation!

                                                                                                                                        • vanillax 14 hours ago

                                                                                                                                          I know the github says docker free.... What would it take to dockerize so people can self host, say on kubernetes.

                                                                                                                                          • hyperknot 13 hours ago

                                                                                                                                            Someone making a Docker image from this. Instead of using Fabric's commands like c.sudo('git clone ...') it'd use the RUN commands.

                                                                                                                                            I think it would be quite a straightforward task to transform it into a Docker file. I'd be happy to link to it on GitHub.

                                                                                                                                          • SebaSeba 14 hours ago

                                                                                                                                            Seems like a great service! We could definitely consider this as an viable option for our startup's application. I am not an expert regarding the OSM data and maps in general, but how customizable is your library, can I somehow relatively easy add housenumbers of the addresses from OSM data on the buildings in the map?

                                                                                                                                            • hyperknot 14 hours ago

                                                                                                                                              This is totally customizable and the house numbers are already present in the original data, it's just not displayed in the default styles. You can customize the style by using the Maputnik editor, house numbers are visible in the "Inspector" view. https://maputnik.github.io/editor?style=https://tiles.openfr...

                                                                                                                                            • kisamoto 12 hours ago

                                                                                                                                              I am currently exploring the open source mapping world and trying to get a better grasp of what's available.

                                                                                                                                              How does this project compare to Apache Baremaps (incubating)?

                                                                                                                                              https://baremaps.apache.org/

                                                                                                                                              • hyperknot 12 hours ago

                                                                                                                                                They are providing the building blocks for making a self-hosted vector tiles server, they don't actually host the tiles.

                                                                                                                                              • audiala 7 hours ago

                                                                                                                                                This is fantastic, thank you!

                                                                                                                                                • the-rc 13 hours ago

                                                                                                                                                  Hard links are to deduplicate identical tiles, right? How much does that save and how close is the tile with most links (empty one(s)?) to the filesystem limits? Inquiring minds want to know...

                                                                                                                                                  • hyperknot 12 hours ago

                                                                                                                                                    Yes, exactly, it's to save space. For example there is one such tile for "ocean", which covers 70% of earth.

                                                                                                                                                    In total, there are 271 million hard links. So out of 300 million files 271 are hard links!

                                                                                                                                                    The file system limit is 64k hard-links for the same file, so I have to handle the case when it's reached and then start a new file for the next 64k.

                                                                                                                                                    • mdaniel 11 hours ago

                                                                                                                                                      > The file system limit is 64k hard-links for the same file

                                                                                                                                                      I had never heard that, so I went sniffing around and it seems to be ext4 specific[1] but I wasn't able to easily get the limits for ZFS (or xfs, etc), so depending on how much glucose one wished to spend it may be better to use a different FS than all that renaming work around

                                                                                                                                                      1: https://en.wikipedia.org/wiki/Hard_link#Limitations

                                                                                                                                                      • hyperknot 8 hours ago

                                                                                                                                                        The whole extract_mbtiles.py file is 97 lines of code. This contains parsing MBTiles, writing metadata and some CLI specific lines. It's actually quite a concise script for doing this while taking care of the hard-link limits.

                                                                                                                                                      • fegu 9 hours ago

                                                                                                                                                        Just out of curiosity, is there no clever way to solve this within nginx with rules instead?

                                                                                                                                                        • jaakl 9 hours ago

                                                                                                                                                          In nutiteq mobile maps SDK (later Carto, now abandonware) we used specifically compressed bitmap to represent 'water' and 'empty land' tilemasks to cover these two special cases. We provided planet-scale mobile embedded mbtiles package in 30GB if I remember well. This tile mask (quite instant bitmap index) concept should work well for server case also.

                                                                                                                                                          • hyperknot 8 hours ago

                                                                                                                                                            The Linux kernel's filesystem cache is actually really efficient at doing this. I doubt we could come up with a nginx scripting solution which could be equally efficient.

                                                                                                                                                      • binarymax 6 hours ago

                                                                                                                                                        Great project! Do you support geocoding with a nominatim api?

                                                                                                                                                        • Coolbeanstoo 15 hours ago

                                                                                                                                                          Seems like the full world download links dont work, 404: https://btrfs.openfreemap.com/

                                                                                                                                                          • hyperknot 15 hours ago

                                                                                                                                                            CloudFlare buckets don't support indexing / directory listing, so you need to get the exact URL. To help with this, here is a file listing the content of the bucket: https://btrfs.openfreemap.com/files.txt

                                                                                                                                                          • khobragade 11 hours ago

                                                                                                                                                            Awesome! Moreover, I love how hyperknot is engaging with the people and the feedback :) This is super inspiring.

                                                                                                                                                            • zarazas 15 hours ago

                                                                                                                                                              I would be interested in the differences between this and protomaps

                                                                                                                                                              • hyperknot 15 hours ago

                                                                                                                                                                I'll write a detailed blog post for that, definitely.

                                                                                                                                                                Basically Protomaps / PMTiles allows you to do this serverless, but it has it's downsides.

                                                                                                                                                                There are two ways to use PMTiles with Cloudflare:

                                                                                                                                                                - Putting the file in a public bucket and use HTTP range requests.

                                                                                                                                                                - Deploy a worker to access it.

                                                                                                                                                                For the range request version, you can test PMTiles here: https://pmtiles.io/?url=https%3A%2F%2Fdata.source.coop%2Fpro....

                                                                                                                                                                It loads in 8-10 sec for me on a cold start. Of course it gets faster if many of us try to request it at the same time, but if you check it once per day for example, it'll be really slow, up to 10 sec.

                                                                                                                                                                Compare that with OpenFreeMap here: https://openfreemap.org/quick_start

                                                                                                                                                                It's near instant for me. (I know it's not full screen but you can make the app and then see how it's in full screen).

                                                                                                                                                                For the Cloudflare Workers version, I didn't find any publicly available full planet test, so I don't know the performance, but Workers are not free. It might not matter for a small project, but the $0.30/million requests per month can easily add up if your project gets popular.

                                                                                                                                                                In terms of OpenFreeMap, hosting it on a Cloudflare Worker would be prohibitively expensive.

                                                                                                                                                                • bdon 12 hours ago

                                                                                                                                                                  I'm the developer of Protomaps, to summarize:

                                                                                                                                                                  The latency you see on https://pmtiles.io/?url=https%3A%2F%2Fdata.source.coop%2Fpro... is representative of how PMTiles works on AWS S3, coming from the us-west-2 region. It will be reasonable to load for those in the western US and likely quite slow from Europe or Oceania.

                                                                                                                                                                  If you want to make a direct comparison of Protomaps to OpenFreeMap, you need to compare serving OpenFreemap with NGINX from btrfs on disk, to running `pmtiles serve` on a `.pmtiles` file on disk, as described here: https://docs.protomaps.com/deploy/server

                                                                                                                                                                  The OpenFreeMap page for me (in Taiwan) takes 1-2 seconds per tile, which is more than double the load tile for the PMTiles in us-west-2 example linked above.

                                                                                                                                                                  The best solution to get latency competitive with commercial providers, for a global audience, is to cache tiles at CDN edge locations. I describe automated ways to do that with Cloudflare Workers and AWS Lambda + Cloudfront here:

                                                                                                                                                                  https://docs.protomaps.com/deploy/cloudflare https://docs.protomaps.com/deploy/aws

                                                                                                                                                                  I'm also experimenting with http://tigrisdata.com which lets you geo-distribute a static storage bucket like in this example: https://pmtiles.io/?url=https%3A%2F%2Fdemo-bucket.protomaps....

                                                                                                                                                                  • hyperknot 12 hours ago

                                                                                                                                                                    No, the ping is 150 ms to us-west-2, and the tiles load in like 5 seconds on a cold start. Of course we cannot test cold start on HN comments because HN is the definition of hot :-)

                                                                                                                                                                    I can imagine workers to be fast, it's the range requests which are super slow. It's also outside of your control, it depends on how Cloudflare and S3 handles range requests to 90 GB files.

                                                                                                                                                                    I think if you could make PMTiles split into files <10 MB, it'd be perfect with range requests.

                                                                                                                                                                    • bdon 12 hours ago

                                                                                                                                                                      I agree, there are tradeoffs to using static storage - the intended audience for PMTiles is those that prefer using static sites instead of administering a Linux server.

                                                                                                                                                                      I would be interested to see a comparison of Btrfs + nginx serving latency, vs `pmtiles serve` from https://github.com/protomaps/go-pmtiles on a PMTiles archive on disk. That would be a more direct comparison.

                                                                                                                                                                      I think there's potentially some interesting use case for tiles in Btrfs volumes and incremental updates, which I haven't tackled in PMTiles yet!

                                                                                                                                                                      • preya2k 23 minutes ago

                                                                                                                                                                        I would also like to see this comparison. And for good measure it’d be great to also include Versatiles in this comparison.

                                                                                                                                                                        • hyperknot 11 hours ago

                                                                                                                                                                          I think both solutions could easily saturate a 1 Gbps line. I benchmarked Btrfs + nginx and it could do 30 Gbps, which doesn't really make a difference if your server is 1 Gbps only.

                                                                                                                                                                          The fact that there is no service running was the more important for me. Mostly for security and bugs. I had so many problems with various tile servers in production, they needed daily restarting, they had memory leaks, etc.

                                                                                                                                                                          Basically I wanted to go nginx-only for security and to avoid tile server bugs.

                                                                                                                                                                          • bdon 10 hours ago

                                                                                                                                                                            I see, I think that's a good approach to enable serving with stock nginx as well as for companies that are built on Nginx or a plain HTTP serving stack already.

                                                                                                                                                                            For PMTiles the module is loadable directly as a Caddy plugin (https://docs.protomaps.com/deploy/server#caddyfile) which I prefer to nginx for security and bugs (and automatic SSL), and also enables serving PMTiles from disk or a remote storage bucket without a separate service running.

                                                                                                                                                                            • hyperknot 9 hours ago

                                                                                                                                                                              Yes, PMTiles with the Caddy plugin is very similar to nginx + Btrfs.

                                                                                                                                                                              At that point, the difference between the two projects is mostly which schema is being used.

                                                                                                                                                                            • tecleandor 8 hours ago

                                                                                                                                                                              You both specify the filesystem to be Btrfs. Is there any advantage in this case against ZFS, ext4, XFS... or is it just a practical choice?

                                                                                                                                                                              • hyperknot 7 hours ago

                                                                                                                                                                                Yes, small files can fit in the metadata, which makes a super big difference when you have 300 million files of 405 bytes each. Also, inode handling is way better compared to ext4.

                                                                                                                                                                  • wkat4242 11 hours ago

                                                                                                                                                                    How much disk space do you need to host it?

                                                                                                                                                                    • hyperknot 10 hours ago

                                                                                                                                                                      I'd recommend at least 200 GB.

                                                                                                                                                                      • wkat4242 10 hours ago

                                                                                                                                                                        Thanks! That's a lot less than I expected.

                                                                                                                                                                    • jsilence 14 hours ago

                                                                                                                                                                      Anybody know of a similar service for weather information?

                                                                                                                                                                    • peoplefromibiza 9 hours ago

                                                                                                                                                                      As a Roman, the decision on how to prioritize the labels seems very interesting to me!

                                                                                                                                                                      https://i.postimg.cc/tCn1xSRF/image.png

                                                                                                                                                                      p.s. very cool project indeed

                                                                                                                                                                      edit: I don't know how it happened, but while panning the map with the mouse, the map flipped upside down.

                                                                                                                                                                      https://i.postimg.cc/sggZ2pHh/image.png

                                                                                                                                                                      • hyperknot 7 hours ago

                                                                                                                                                                        Thank you for sharing this, I'll make a issue about both.

                                                                                                                                                                        The Vatican situation is trickier than you'd think, as it's on country level, while Rome is on city level, and naturally you'd want to give countries a priority over cities. Like on low zooms you only want to show countries, then as it gets closer you show cities. Well, except for Vatican.

                                                                                                                                                                      • adhamsalama 13 hours ago

                                                                                                                                                                        Very interesting, I might try this at $WORK.

                                                                                                                                                                        • anthk 13 hours ago

                                                                                                                                                                          I miss some libre client for Google's Street View. On 3D maps, adapting Marble for OSGEarth should be a piece of cake.

                                                                                                                                                                          If not, declaring one with IMGui+layers can be done in a week from any experienced C++ programmer. The included demos for OSGEarth already depict a minimal client with impressive 3D maps for a nearly non-supported demo.

                                                                                                                                                                          I think KDE/Plasma lost a great oportunity there by not adopting OSGEarth.

                                                                                                                                                                          • maelito 12 hours ago

                                                                                                                                                                            What would be the aim of a libre client for Google's SW ? Street View API is quite expensive.

                                                                                                                                                                            Do you know about https://panoramax.fr ?

                                                                                                                                                                          • sylware 15 hours ago

                                                                                                                                                                            The main issue: once a map service has enough success, it will require significant bandwidth resources which only Big Tech can afford.

                                                                                                                                                                            P2P? Well, there is always the issue of trust.