This is a guide I wrote for Immich’s documentation. It features some Immich specific parts, but should be quite easy to adapt to other use cases.

It is also possible (and not technically hard) to self-host a protomaps release, but this would require 100GB+ of disk space (which I can’t spare right now). The main advantages of this guide over hosting a full tile server are :

  • it’s a single nginx config file to deploy
  • it saves you some storage space since you’re only hosting tiles you’ve previously viewed. You can also tweak the maximum cache size to your needs
  • it is easy to configure a trade-off between map freshness and privacy by tweaking the cache expiration delay

If you try to follow it, please send me some feedback on the content and the wording, so I can improve it

    • @[email protected]OP
      link
      fedilink
      42 months ago

      There have been some changes in a few recent releases related to the concerns I raised :

      • the default tile provider is now hosted by the Immich’s team using protomaps (still uses vloudflare though)
      • a new onboarding step providing the option to disable the map feature and clarifying the implications of leaving it enabled has been added
      • the documentation has been updated to clarify how to change the map provider, and includes this guide as a community guide
    • @[email protected]OP
      link
      fedilink
      62 months ago

      It’s a server that hosts map data for the whole world, and sends map fragments (tiles)as pictures for the coordinates and zoom levels that clients request from them

  • Mike Wooskey
    link
    fedilink
    English
    21 month ago

    I just learned about OpenFreeMap. I’ve not done it but it touts itself as a simple way to host your own tile server. I’m assuming that your proxy would work for a self hosted tile server with a few alterations.

    • @[email protected]OP
      link
      fedilink
      11 month ago

      Thank you for the link. I’ve seen it posted a few days ago.

      The caching proxy for this tutorial should easily work with any tile server, including self-hosted. However, I’m not sure what the benefits would be if you are already self-hosting a tile server.

      Lastly, the self-hosting documentation for OpenFreeMap mentions a 300GB of storage + 4GB of RAM requirement just for serving the tiles, which is still more than I can spare

    • @[email protected]OP
      link
      fedilink
      62 months ago

      It’s still available in Debian’s default repositories, so it must still be open source (at least the version that’s packaged for Debian)

      • @[email protected]
        link
        fedilink
        02 months ago

        I think the changes happened after Debian 12 was released so it might just have the last open-source version in the repo. And someone made a fork immediately so it could be that too.

          • @[email protected]
            link
            fedilink
            12 months ago

            Maybe it added telemetry instead of going proprietary. I don’t exactly remember what happened. I saw news about it on Lemmy but my client doesn’t support search so I can’t find it now easily.

            • @[email protected]
              link
              fedilink
              82 months ago

              A core developer quit and forked it to make freenginx, based on a claim of corporate interference in security practices.

              This was about 6 months ago and probably what you are thinking of. Its still open source, there doesn’t seem to be anything that’s come of the issue that was the cause of the split, and nginx is still actively developed.

    • @friend_of_satan
      link
      English
      3
      edit-2
      2 months ago

      I don’t think so. I’m sure I would have heard something about that for work related reasons. That would be quite a problem for the kubernetes ecosystem since nginx is so widely used there as an ingress controller.

      The nginx website still lists a “bsd-like license” as what the source code is released under: https://nginx.org/LICENSE