Introducing reitti: a selfhosted alternative to Google Timeline
-
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
Fuck yeah this is awesome! The detail of Immich integration is just the icing on top of an awesome cake!
How demanding is it on server resources? Am I likely to be able to run it on an old Raspberry Pi that's also running a couple of other relatively light tasks? How much storage does it end up using over time? I'm probably going to try and get it running either on my Pi or my Synology NAS, though the latter has had issues with Docker containers in the past depending on the container's dependencies...
-
Let me know how it worked out. I am deploying it to my server via docker without an problems, but maybe they are some quirks i missed.
Of course, happy to do so. I'll report back with my experience when I have it working!
-
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
wrote on last edited by [email protected]This looks good, I'm currently using dawarich and owntracks to track our families 5 week road trip around the south island of New Zealand (https://no.lastname.nz/post/1468113). If I can find a spare moment in our travels and a good internet connection I'll try and spin up an image and test it out.
One thing that I would love is to be able to have multiple people displayed on a single map (my wife [kids when they have their own phones with data], brother, mother and a few close friends - we already use google maps for this)
-
Fuck yeah this is awesome! The detail of Immich integration is just the icing on top of an awesome cake!
How demanding is it on server resources? Am I likely to be able to run it on an old Raspberry Pi that's also running a couple of other relatively light tasks? How much storage does it end up using over time? I'm probably going to try and get it running either on my Pi or my Synology NAS, though the latter has had issues with Docker containers in the past depending on the container's dependencies...
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
-
This looks good, I'm currently using dawarich and owntracks to track our families 5 week road trip around the south island of New Zealand (https://no.lastname.nz/post/1468113). If I can find a spare moment in our travels and a good internet connection I'll try and spin up an image and test it out.
One thing that I would love is to be able to have multiple people displayed on a single map (my wife [kids when they have their own phones with data], brother, mother and a few close friends - we already use google maps for this)
wrote on last edited by [email protected]That sounds like an awesome idea, actually the data is stored for every user separately depending on the used api token or when you login and do a data import. I will create a feature request for it.
But bear in mind, reitti is not meant to be a real-time tracking app. At the moment, data is processed every 10 minutes.
-
Fuck yeah this is awesome! The detail of Immich integration is just the icing on top of an awesome cake!
How demanding is it on server resources? Am I likely to be able to run it on an old Raspberry Pi that's also running a couple of other relatively light tasks? How much storage does it end up using over time? I'm probably going to try and get it running either on my Pi or my Synology NAS, though the latter has had issues with Docker containers in the past depending on the container's dependencies...
Looks to be a java application with a number of services running alongside- I don't think it's going to be lightweight to run on resource constrained devices, but sweet project anyway! (Side note, no clue how you engineers find the time to hack on things like this, I feel like I've got so little time to myself I cannot imagine dedicating it to a project like this)
-
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
Docker-dependent? It looks fantastic, but I have no containers in my home-lab -- and it's based on my time managing OS security for an OS. I'm stuck living vicariously through the rest of you, so report back often.
-
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
This looks awesome! I'd just been collect my GPS data thinking one day I'd analyze/visualize it on my own-- not expecting anyone else to make a such a comprehensive program. The UI looks really slick. I'm looking forward to testing it out. Hopefully this weekend. Thank you for this!
-
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
My only concern is battery usage. Google has the advantage of OS integration, which skims location data for timeline history even when another app accesses location, which uses essentially no battery (since you would've been using location for that other app anyway).
But it's awesome that a tool like this exists anyways, great work.
-
Hello @[email protected], i usually use GPSLogger for Android to track my location during the day and this periodically sends the data to reitti whenever i am back at home. I have no idea if you switch off location services what happens on the GPSLogger side of the chain. If it still be able to access GPS I see no problem, if not than this sadly will break the usecase for reitti.
It relies on a consistent GPS tracking data to be able to do its thing
if you switch off location services
...then no app gets a location anymore.
-
This looks awesome! I'd just been collect my GPS data thinking one day I'd analyze/visualize it on my own-- not expecting anyone else to make a such a comprehensive program. The UI looks really slick. I'm looking forward to testing it out. Hopefully this weekend. Thank you for this!
Let me know how it works out for you. If you have the gpx files, you can simply import them inside the settings menu.
-
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
I'd love to see an integration with PhotoStructure in addition to Immich.
-
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
I've been putting off setting up an immich server. Would this do well if hosted on the same machine?
-
May I ask what you mean by NixOS support? There's a docker compose you could use in their repo...
wrote on last edited by [email protected]But then I'd have to combine that with existing services myself. NixOS ensures that there is only one postgres running for example, such that not every service starts its own postgres instance.
For immich, for example the following is enough for a most basic configuration:
services.immich.enable = true; services.immich.port = 2283;
-
I'd love to see an integration with PhotoStructure in addition to Immich.
Never heard of PhotoStructure but if they provide an API where i can search assets for a day and it also returns the exif data especially latitutde and longitude it should be pretty straight forward to implement. Feel free to add a feature request when you got time and I will have a look at it
-
That sounds like an awesome idea, actually the data is stored for every user separately depending on the used api token or when you login and do a data import. I will create a feature request for it.
But bear in mind, reitti is not meant to be a real-time tracking app. At the moment, data is processed every 10 minutes.
Real time is nice, but not a must have at least for my use case.
-
My only concern is battery usage. Google has the advantage of OS integration, which skims location data for timeline history even when another app accesses location, which uses essentially no battery (since you would've been using location for that other app anyway).
But it's awesome that a tool like this exists anyways, great work.
Thank you
I understand your concerns, this is something every additional app would have to deal with.
For me it is ok to have GPSLogger running all the time, I think for what it is doing it is quite easy on the battery but I do not use my phone actively that much and I am happy if it survives a day which it does.
-
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
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.
-
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
I love that it supports multiple formats for important location as well as multiple geocoders. But that makes me wonder, would it be feasible to support multiple image libraries? There's a bunch of different FOSS photo libraries out there. I think Nextcloud is the main other one I've heard about 'in the wild', as it were. Or is there too much bespoke Immich code in there for that to be a simple plug-and-play option?
-
But then I'd have to combine that with existing services myself. NixOS ensures that there is only one postgres running for example, such that not every service starts its own postgres instance.
For immich, for example the following is enough for a most basic configuration:
services.immich.enable = true; services.immich.port = 2283;
I see what you mean, interesting. Didn't really look at NixOS as a server os. I personally prefer using multiple compose files (in the process of migrating to k8s). I share resources too, like in your example, I just point to the existing DB instance, not create a new one for each new service.