Self-hostable alternative to Google Location History (Google Maps Timeline)
Find a file
2026-01-04 19:19:38 +01:00
.circleci Update ruby version 2025-09-26 19:01:21 +02:00
.devcontainer Update ruby version 2025-09-26 19:01:21 +02:00
.github Unify Dockerfile 2025-11-07 12:38:44 +01:00
app Update time spent calculation for country minutes in user digests 2026-01-04 19:19:38 +01:00
bin Remove solid trifecta 2025-06-09 13:50:43 +02:00
config Update digest calculation to use actual time spent in countries based… (#2115) 2026-01-04 12:45:30 +01:00
db Update digest calculation to use actual time spent in countries based… (#2115) 2026-01-04 12:45:30 +01:00
docker Update entrypoint to always sync static assets (not only new ones) 2025-12-16 18:30:07 +01:00
docs Fix some minor stuff 2025-10-11 14:17:48 +02:00
e2e Update time spent calculation for country minutes in user digests 2026-01-04 19:19:38 +01:00
lib Add yearly digest (#2073) 2025-12-28 17:33:35 +01:00
log Initial Rails 7.0.2.3 template w/ rspec, tailwind, and devise user 2022-04-06 22:46:10 +04:00
public Feature/maplibre frontend (#1953) 2025-12-06 20:34:49 +01:00
screenshots Update readme 2025-10-26 10:54:18 +01:00
spec Update time spent calculation for country minutes in user digests 2026-01-04 19:19:38 +01:00
storage Return .keep files 2025-12-14 00:05:34 +01:00
swagger/v1 Feature/maplibre frontend (#1953) 2025-12-06 20:34:49 +01:00
tmp Return .keep files 2025-12-14 00:05:34 +01:00
vendor Feature/maplibre frontend (#1953) 2025-12-06 20:34:49 +01:00
.app_version Update calculation of time spent in a country for year-end digest email (#2110) 2026-01-03 13:28:21 +01:00
.env.development Complete phase 5 2025-09-28 13:10:07 +02:00
.env.test Fix redis urls 2025-06-09 14:10:49 +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 Add tests for bulk_destroy action in PointsController 2025-11-07 10:03:15 +01:00
.rspec Calculate trip data in the background 2025-05-15 21:33:01 +02:00
.rubocop.yml Add swagger along with api/v1/points swagger doc 2024-05-18 13:35:48 +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
app.json Refactor family invitations and memberships into separate models and controllers 2025-10-07 18:38:06 +02:00
CHANGELOG.md Implement globe projection option for Map v2 using MapLibre GL JS. 2026-01-04 18:44:25 +01:00
CLAUDE.md Update stuff, fix stuff 2025-09-29 22:27:07 +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 Return sidekiq and redis to Dawarich 2025-06-09 13:39:25 +02:00
Gemfile Update Gemfile and Gemfile.lock to pin connection_pool and sidekiq versions 2026-01-04 14:49:15 +01:00
Gemfile.lock Update Gemfile and Gemfile.lock to pin connection_pool and sidekiq versions 2026-01-04 14:49:15 +01:00
LICENSE Create LICENSE 2024-04-08 03:11:23 +04:00
package-lock.json Bump trix from 2.1.15 to 2.1.16 in the npm_and_yarn group across 1 directory (#2098) 2026-01-03 13:33:16 +01:00
package.json Bump trix from 2.1.15 to 2.1.16 in the npm_and_yarn group across 1 directory (#2098) 2026-01-03 13:33:16 +01:00
playwright.config.js Feature/maplibre frontend (#1953) 2025-12-06 20:34:49 +01:00
Procfile Refactor family invitations and memberships into separate models and controllers 2025-10-07 18:38:06 +02:00
Procfile.dev Bind to both IPv6 and IPv4 interfaces by default 2024-12-10 16:10:21 +00:00
Procfile.production Add a scheduled job to create tracks for all users for the past 24 hours. 2025-07-09 21:25:56 +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 kml kmz import issues (#2023) 2025-12-09 19:37:27 +01:00

🌍 Dawarich: Your Self-Hostable Location History Tracker

Discord | ko-fi | Patreon


📸 Screenshots

Map Map View

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!

📄 Changelog: Find the latest updates here.

👩‍💻 Contribute: See CONTRIBUTING.md for how to contribute to Dawarich.

⚠️ Disclaimer

  • 💔 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.
  • ⚠️ DO NOT USE PRODUCTION ENVIRONMENT: Dawarich is not yet ready for production.

🧭 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: password 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.

✈️ 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