Hey everyone!

I’m excited to introduce Reitti, a location tracking and analysis application designed to help you gain insights about your movement patterns and significant places—all while keeping your data private on your own server.

Core Capabilities:

  • Visit Tracking: Automatically recognizes and categorizes the places where you spend time, using customizable detection algorithms
  • Trip Analysis: Analyzes your movements between locations to understand how you travel whether by walking, cycling, or driving
  • Interactive Timeline: Visualizes all your past activities on an interactive timeline with map and list views that show visit duration, transport method, and distance traveled

Photo Integration:

  • Connect your self-hosted Immich photo server to seamlessly display photos taken at specific locations right within Reitti’s timeline. The interactive photo viewer lets you browse galleries for each place.

Data Import Options:

  • Multiple Formats Supported: Reitti can import existing location data from GPX, GeoJSON, and Google Takeout (JSON) backups
  • (Near) Real-time Updates: Automatically receive location info via mobile apps like OwnTracks, GPSLogger or our REST API

Customization:

  • Multi-geocoding Services: Configurable options to convert coordinates to human-readable addresses using providers like Nominatim
  • User Profiles: Customize individual display names, password management, and API token security under your own control

Self-hosting:

  • Reitti is designed to be deployed on your own infrastructure using Docker containers. We provide configuration templates to set up linked services like PostgreSQL, RabbitMQ and Redis that keep all your location data private.

Reitti is still early in development but has already developed extensive capabilities. I’d love to hear your feedback and answer any questions to tailor Reitti to meet the community’s needs.

Hope this sparks some interest!

Daniel

  • danielgraf@discuss.tchncs.deOP
    link
    fedilink
    English
    arrow-up
    15
    ·
    1 day ago

    I have no clue if a raspberry will handle it. There a a couple of services involved to make it fast, but they are then another burden like RabbitMQ. Which make ingesting data instantaneous but you need extra processing power to handle the queues. It all comes with a tradeoff.

    For size, there is mainly the PostGIS DB. I just checked and my db is around 800 MB for roughtly 8 1/2 Years of data.

    Photon (the reverse geocode enabled in the compose file) is another beast. For Germany it takes 14 GB of storage while running, if you let PARALLELL updates enabled you can double that every time the index is updated. But you can remove that from the compose file and rely on external Geocoders. It is described in https://github.com/dedicatedcode/reitti?tab=readme-ov-file#reverse-geocoding-options

    • Zagorath@aussie.zone
      link
      fedilink
      English
      arrow-up
      2
      ·
      23 hours ago

      Oh interesting. I’ve just read through that link, and I was assuming that something similar to the “external only” option would have been the only way it worked. More specifically, I thought it’d just store a list of historical points and display those on an OSM overlay. But it seems like even “external only” is much more involved than that.

      What happens with self-hosted Photon if you specify a country, but then also visit another country? (I assume in hybrid mode it’s as simple as "use Photon in your country, use Nominatim otherwise?)

      But yeah, definitely sounds like a Pi is probably not gonna cut it. I’ll have to see if my Synology can do it, or if the weird OS restrictions Synology imposes prevent it.

      • danielgraf@discuss.tchncs.deOP
        link
        fedilink
        English
        arrow-up
        3
        ·
        22 hours ago

        If you use Photon and only have your main country available, it will fallback to the configured external Geo-coding-services since Photon will not return a result then. So the order of execution is:

        • first try Photon
        • if it does not return anything, try to call one or all of the available Geo coding services.
          • danielgraf@discuss.tchncs.deOP
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            20 hours ago

            Maybe the wording is confusing in the Readme. Reitti will try to fetch the data from a configured photon instance first, if this does not return anything and you have Geocoding services configured, it will try them. There is actually no switch for hybrid mode or only local. It depends on what is configured.

            Photon Only: you have only photon configured and under Settings > Gecoding you deleted or disable every available service. Hybrid Mode: Photon is configured and under Settings > Geocoding there are Services available. That es is the one I use. Having Photon with the data for Germany and all the rest is handled by Geoapify.com.

            External Only: You dropped Photon from the docker-compose file and only rely on services under Settings > Geocoding

            If you do not configure anything, then Reitti will skip Geocoding and only display Unknown Place.

            I will update the Readme to make that clear.

            • Zagorath@aussie.zone
              link
              fedilink
              English
              arrow-up
              1
              ·
              20 hours ago

              If you do not configure anything, then Reitti will skip Geocoding and only display Unknown Place.

              Ah ok thanks. This is what I was wondering.

              Two follow-ups:

              Can you specify multiple COUNTRY_CODEs? (and if so, is the method

              environment:
                - COUNTRY_CODE=country_one
                - COUNTRY_CODE=country_two
              

              or

              environment:
                - COUNTRY_CODE=[country_one, country_two]
              

              or something else?)

              And is this something that can seemlessly be retroactively changed? For example, if I set COUNTRY_CODE=au and it works fine for Australia, but then I move to NZ, can I add (assuming the answer to my first question is yes) or change to COUNTRY_CODE=nz and have all the NZ locations work on the already-recorded data, even if I made that change to my configuration after I had been in NZ for a few months?

              • danielgraf@discuss.tchncs.deOP
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                19 hours ago

                Good question, afaik you can not enter multiple countries to Photon. I was hoping it would be possible but everything i saw was it is either on country or the whole world. But maybe you can have a look here: https://github.com/komoot/photon That is the service we are using.

                • Zagorath@aussie.zone
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  17 hours ago

                  I just took a really quick look at it, but under Importing data from Nominatim it says “-country-codes allows to filter the data to be imported by country. Set this to a comma-separated list of two-letter language codes.”

                  That’s a different section from the Importing data from a JSON dump section, which is where it only mentions -country-code. But even that does seem to suggest it takes “all the parameters of an import from a Nominatim database”. So it seems like either the documentation for one of them is wrong, or both are lacking (because in fact both the singular and plural work).

                  • danielgraf@discuss.tchncs.deOP
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    ·
                    16 hours ago

                    I think this is not exposed when running the Docker container. But let me check later when i have time what happens if i put another country in that variable

                  • danielgraf@discuss.tchncs.deOP
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    16 hours ago

                    I looked at the docker image i am using in the docker-compose file and this only supports having a single country code. The actual reason can be found here: https://github.com/rtuszik/photon-docker/blob/3b63df49fbc0a77cafcbd6e6be2b8857c12b9143/start-photon.sh#L341C5-L342C7

                    It is probably possible if you deploy photon on its own and then import the data somehow. But that is to much hassle for me, i think and hope that most of the use case is handled by the current solution. At least for most of the potential users. But I get the point if someone is traveling a lot between countries.

                    If there is enough demand I could maybe try to create a PR for the Docker image to handle multiple country codes.