Dhruv Bhutani / Android Authority
As an avid traveler, Google Maps Timeline has long been one of my favorite hidden features. I’m used to opening it on slow Sunday afternoons and wandering through my own travel history. It showed alleyways I had forgotten, long layovers that blurred together while stepping out for a quick brunch across a new city, and impulsive last-minute rail journeys across Eastern Europe that never made it into photos. It’s always felt like a private travel diary logging everywhere I’ve been.
So the announcement that Google will be killing Timeline view as we know it came as a bit of a shock. The online timeline view is no longer accessible, and the only copy lives on your phone — unless you explicitly trigger a cloud backup. As with all things Google, if a feature is too good, it eventually gets killed (even if it’s in the name of privacy). For all practical purposes, Google was about to move a decade and a half of my location history behind a Takeout export. In other words, I could download my past travels or watch them vanish. If I cared about those memories, it was clear that I had to figure out a way to take ownership of that data. So I did the obvious: I looked up a self-hosted alternative.
Even at first glance, OwnTracks looked like the right tool. It’s open source, it works entirely on personal infrastructure, and it stores data in plain text. The interface is reasonably polished, and there’s no hidden monetization. All of which is exactly what I wanted in a Google Maps Timeline replacement.
Setting it up took a weekend of tinkering on my Synology NAS, but the payoff was a location log that lives on hardware I’ve already paid for. I can choose what to do with that data, including integrating it with Home Assistant, and I can back it up wherever and as often as I like. Win-win.
Setting up OwnTracks and importing my old Maps data
Dhruv Bhutani / Android Authority
Getting started with OwnTracks is an involved process, so I began with the basics. It needs an MQTT broker to shuttle messages between the phone app and the server. I installed Eclipse Mosquitto in a Docker container. The documentation is clear enough about ports and volume mounts. Once the broker was running, I pointed the OwnTracks app on my Pixel 9 Pro to the NAS’s LAN IP and watched as JSON packets began appearing in the logs. While I’m fine with syncing my location history whenever I’m back home, you can also set up a reverse proxy and update your location in real time. Perhaps a project for another time.
The second step was storage and playback. OwnTracks is split into two parts: the recorder, which, well, records your location, and the frontend, which displays it. The recorder connects to the MQTT broker we installed earlier, writes every update to disk, and exposes an HTTP API. Installing it was straightforward with Docker Compose, and you can also use Synology’s Container Manager for an even easier setup. By default, the recorder serves a basic map on port 8083. It’s not flashy, but it works. I saw my evening walk pop up almost in real time. And if you’re just looking to log your location from here on out, you can skip the frontend altogether. If importing your Timeline history is important to you, like it was to me, you’ll want to continue installing the frontend. The process is similar to installing the recorder and shouldn’t take over an hour.
Installing OwnTracks wasn’t frictionless, but once it worked, it felt like stepping back into Google’s old timeline view. Except this time, everything was self-hosted.
... continue reading