Skip to main content

Dawarich 0.12.0: Fog of War, Visits Detection and a Public API

· 4 min read
Evgenii Burmakin
Author of Dawarich

Hello there! I'm here today to provide you with some changes I introduced in Dawarich.

For those unfamiliar, Dawarich is a self-hosted alternative to Google Location History and OwnTracks.

Dawarich map overview

So, the last time I posted an update, it was on Dawarich 0.7.0, more than two months ago. Today I'll share changes made to the application since, and in the future, I'm planning to post release updates on a monthly basis.

I'll cover only significant changes, although there are also a whole lot of small ones. So, here we go!

Added

  • Fog of War. Yes, exactly like in your favorite RTS game!
  • Primitive user management. The first user in the system is now the admin and can create new users. Nobody will be able to use your Dawarich instance without your knowledge.
  • Full support for the third (yes, third) kind of Google's Takeout location history file.
  • A simple notification system. You'll receive a notification when any of your background processes is finished. Non-live yet, requires a page reload.
  • API endpoints
    • /api/v1/areas (GET, POST)
    • /api/v1/area/:id (PATCH/PUT, DELETE)
    • /api/v1/points (GET)
    • /api/v1/point/:id (DELETE)
    • /api/v1/visit/:id (PATCH/PUT)
    • /api/v1/stats (GET)
  • Swagger docs for the API. Available at /api-docs.
  • Support for multiple hosts. You can now provide multiple domains and IP addresses by which you want Dawarich to be available.
  • Support for HTTPS protocol.
  • Background jobs page, where you can start or re-start the reverse geocoding process for your points.
  • Point can now be deleted right from the map. Just click on it, and then click on "Delete" in the popup.
  • Some map settings can now be changed in user settings.
  • Those who want to host their own Photon instance for reverse geocoding without limitations now can do that and point Dawarich to it with PHOTON_API_HOST env variable.
  • Visits functionality. You can now draw an area on the map, give it a name (i.e. "Parent's house") and Dawarich will scan your visits there and suggest them to be confirmed or declined on the Visits page.
  • Places & Visit suggestion. Oooh this is huge. And it's still in beta. Basically, Dawarich scans through all your points, detects groups of them in space and time, and makes a suggestion: this is a Visit. If possible (and if reverse geocoding is enabled), it will also try to suggest a name of the place you visited.
  • Map settings are moved directly to the map itself

Fixed

  • Hovering over a route on the Map page will no longer move the map. But click on a route will, it will move to show both the start and the finish of the route.

Changed

  • Registration is now disabled and new users can be only created by the very first user in the system (or an admin, or via console).
  • Reverse geocoding process now saves all data it fetched, not just city and country

So, I'd like to talk a bit about Visits suggestions. It's currently in its beta version, and the ultimate goal is to have Dawarich reliably suggest places you visited, also providing you with a list of names of potential places that you could have visited. Current implementation is a first step, and initial visits suggestion, depending on the amount of points you tracked or imported, might take a few hours and consume some considerable resources. With that in mind, it might be smart to limit resources available to Dawarich to not crash your server.

The main focus for now would be probably honing existing features, especially the Visits suggestions feature, although I'll also be working on some other stuff, such as extending the API, supporting different types of export files, and some others. I invite you all to Github Discussions to ask your questions and bring your ideas.

Feel free to support the project on Patreon, Ko-fi or using crypto (address is in the project README) if you find it useful :)

To save you a scroll:

Cheers!


This post was originally published on r/selfhosted.

Dawarich is free, open-source and self-hostable. If you'd rather not run your own server, Dawarich Cloud does the hosting for you.