Self-hostable alternative to Google Timeline (Google Location History) https://dawarich.app
Find a file
2026-05-16 23:27:43 +02:00
.circleci Update ruby version 2025-09-26 19:01:21 +02:00
.devcontainer Merge remote-tracking branch 'origin/dev' into feature/yabeda-metrics 2026-05-09 18:48:46 +02:00
.github Add permissions to github workflows 2026-02-25 11:50:09 +01:00
app Allow OTP backup codes during lockout 2026-05-16 23:11:54 +02:00
bin Add swagger specs for the new api endpoints 2026-04-29 20:58:29 +02:00
config Remove subscription callback throttle 2026-05-16 20:51:35 +02:00
db Fix rubocop 2026-05-16 23:27:13 +02:00
docker Decouple email+password login from registration flag 2026-05-10 12:02:54 +02:00
docs Drop docs/runbooks/clear-stuck-tracks-advisory-locks.md 2026-05-14 21:16:13 +02:00
lib Stage 1: backfill places.user_id and route writes through user-owned closure 2026-05-16 12:03:05 +02:00
log Initial Rails 7.0.2.3 template w/ rspec, tailwind, and devise user 2022-04-06 22:46:10 +04:00
public Fix rubocop and biome issues 2026-03-26 20:43:30 +01:00
screenshots 1.0.2 (#2194) 2026-01-31 20:22:14 +01:00
spec Fix rubocop 2026-05-16 23:27:13 +02:00
storage Initial Rails 7.0.2.3 template w/ rspec, tailwind, and devise user 2022-04-06 22:46:10 +04:00
swagger/v1 fix: update Swagger spec for 2FA disable contract + lint cleanups 2026-05-02 13:43:37 +02:00
tmp Fix directory path in docker-compose.yml 2024-10-05 14:13:48 +02:00
vendor Update the rest 2026-04-21 23:25:36 +02:00
.app_version Fix changelog 2026-05-10 11:38:00 +02:00
.dockerignore add matrix build to build_and_push workflow (#2242) 2026-02-10 20:54:52 +01:00
.env.development Prepare for mobile sign up and sign in 2026-04-20 23:04:46 +02:00
.env.test Merge branch 'dev' into feature/mobile-auth 2026-04-28 20:36:26 +02:00
.gitattributes Initial Rails 7.0.2.3 template w/ rspec, tailwind, and devise user 2022-04-06 22:46:10 +04:00
.gitignore chore: gitignore .security-audit/ 2026-05-02 12:10:00 +02:00
.rspec Calculate trip data in the background 2025-05-15 21:33:01 +02:00
.rubocop.yml Fix rubocop and biome 2026-05-02 19:36:10 +02:00
.ruby-version Update map layers based on user theme preference (light/dark) and add theme-aware styling to map controls and buttons. 2025-09-26 18:49:13 +02:00
AGENTS.md 0.37.3 (#2146) 2026-01-11 19:51:03 +01:00
app.json Fix building issue 2026-04-27 21:35:35 +02:00
biome.json Fix rubocop and biome 2026-05-02 19:36:10 +02:00
CHANGELOG.md Allow OTP backup codes during lockout 2026-05-16 23:11:54 +02:00
CLAUDE.md Update stale seed password references in docs to safepassword 2026-05-08 18:51:23 +02:00
config.ru Add some frozen_string_literal 2022-10-30 18:42:06 +01:00
CONTRIBUTING.md Small fixes 2025-10-22 20:39:02 +02:00
DEVELOPMENT.md 1.0.3 (#2211) 2026-02-01 00:13:26 +01:00
Gemfile Merge remote-tracking branch 'origin/dev' into feature/yabeda-metrics 2026-05-09 18:48:46 +02:00
Gemfile.lock Merge remote-tracking branch 'origin/dev' into feature/yabeda-metrics 2026-05-09 18:48:46 +02:00
LICENSE Create LICENSE 2024-04-08 03:11:23 +04:00
package-lock.json Bump dompurify in the npm_and_yarn group across 1 directory 2026-03-08 20:19:38 +00:00
package.json Merge pull request #2180 from Freika/dependabot/npm_and_yarn/npm_and_yarn-555d475efb 2026-02-26 17:23:46 +01:00
playwright.config.js Fix sliding window for lite plan 2026-03-03 19:35:17 +01:00
Procfile Refactor family invitations and memberships into separate models and controllers 2025-10-07 18:38:06 +02:00
Procfile.dev Feature/insights api (#2255) 2026-02-12 22:23:27 +01:00
Procfile.production Remove prometheus_exporter from Procfile 2026-05-10 13:43:34 +02:00
Procfile.prometheus.dev Export map tiles usage to Prometheus 2025-02-11 20:45:36 +01:00
Rakefile Add some frozen_string_literal 2022-10-30 18:42:06 +01:00
README.md Fix default password and related tests 2026-05-03 10:32:59 +02:00

🌍 Dawarich: Your Self-Hostable Location History Tracker

Discord | ko-fi | Patreon


Screenshots

Map Map View

Insights Insights Page

Family Family Page

Stats Statistics Overview

Trips Trips page


About Dawarich

If you're looking for Dawarich Cloud, where everything is managed for you, check out Dawarich Cloud.

Dawarich is a self-hostable web app designed to replace Google Timeline (aka Google Location History). It enables you to:

  • Track your location history.
  • Visualize your data on an interactive map.
  • Create trips and analyze your travel history.
  • Share your location with family members.
  • Integrate with photo management apps like Immich and Photoprism to visualize geotagged photos.
  • Import your location history from Google Maps Timeline, OwnTracks, GPX, GeoJSON and some other sources
  • Explore statistics like the number of countries and cities visited, total distance traveled, and more!
  • Share your location with family members.

Changelog: Find the latest updates here.

Contribute: See CONTRIBUTING.md for how to contribute to Dawarich.

⚠️ Disclaimer

Updating strategy

  • DO NOT UPDATE AUTOMATICALLY: Read release notes before updating. Automatic updates may break your setup.
  • Under active development: Expect frequent updates, bugs, and breaking changes.
  • Do not delete your original data after importing into Dawarich.
  • Backup before updates: Always backup your data before upgrading.
  • Stay up-to-date: Make sure you're running the latest version for the best experience.

🧭 Supported Location Tracking

You can track your location with the following apps:

Simply install one of the supported apps on your device and configure it to send location updates to your Dawarich instance.


How to Start Dawarich Locally

  1. Clone the repository.
  2. Run the following command to start the app:
    docker compose -f docker/docker-compose.yml up
    
  3. Access the app at http://localhost:3000.

To stop the app, press Ctrl+C.

You can use default values or create a .env file based on .env.example to customize your setup.


How to Install Dawarich

Default Credentials

  • Username: demo@dawarich.app
  • Password: safepassword Feel free to change them in the account settings.

Features

Location Tracking

Location History Visualization

  • View your historical data on a map with customizable layers:
    • Heatmap
    • Points
    • Lines between points
    • Fog of War

Family Sharing

  • Share your location with family members.
  • View locations of family members on the map (with their consent).
  • Each family member can enable or disable location sharing individually.

Areas

  • Draw areas on the map so Dawarich could suggest your visits there.

Visits (Beta)

  • Dawarich can suggest places you've visited and allow you to confirm or reject them.

Statistics

  • Analyze your travel history: number of countries/cities visited, distance traveled, and time spent, broken down by year and month.

Insights

  • Get insights about your location history, like "Your most visited place is home, with 120 visits", or "You spent 30 days in Paris in 2024".

Days in country

  • See how many days you've spent in each country. Useful for tax residency purposes or just to see where you spend most of your time.

Trips

  • Create a trip to visualize your travels between two points in time. You'll be able to see the route, distance, and time spent, and also add notes to your trip. If you have Immich or Photoprism integration, you'll also be able to see photos from your trips!

Integrations

  • Provide credentials for Immich or Photoprism (or both!) and Dawarich will automatically import geodata from your photos.
  • You'll also be able to visualize your photos on the map!

Import Your Data

  • Import from various sources:
    • Google Maps Timeline
    • OwnTracks
    • Strava
    • Immich
    • GPX/GeoJSON files
    • Photos EXIF data

Export Your Data

  • Export your data to GeoJSON or GPX formats.

📚 Guides and Tutorials

More guides available in the Docs.


Environment Variables

Check the documentation on the website for detailed information about environment variables and settings.


Star History

As you could probably guess, I like statistics.

Star History Chart