Dawarich logo

Dawarich

Self-hostable alternative to Google Timeline (Google Location History)

Alternative to: google timeline, google maps timeline, google location history

Dawarich screenshotDawarich screenshot

About Versions (100)

1.7.7

2026-05-09

⚠️ Breaking changes

Prometheus metrics backend migrated to Yabeda.

Dawarich now uses the Yabeda monitoring framework instead of discourse/prometheus_exporter. Self-hosters who scrape Prometheus metrics from Dawarich should update their configuration.

If Sidekiq is unreachable during a scrape, web returns its own metrics only and logs a warning. Prometheus sees a momentary gap in sidekiq_* rather than a failed scrape.

Scrape target (requires HTTP basic auth with METRICS_USERNAME / METRICS_PASSWORD):

  • Web: http://dawarich_app:3000/metrics

Custom dawarich_archive_* metric names are unchanged. Dashboards and alerts built on these metrics continue to work.

Infrastructure metric names have changed. If you have dashboards built on ruby_*, active_record_*, or similar metrics emitted by prometheus_exporter, you must update them:

CategoryBeforeAfter
HTTP requests (total)ruby_http_requests_totalrails_requests_total
HTTP request durationruby_http_request_duration_secondsrails_request_duration
Sidekiq job countruby_sidekiq_jobs_totalsidekiq_jobs_executed_total
Sidekiq failed jobsruby_sidekiq_failed_jobs_totalsidekiq_jobs_failed_total
Sidekiq job durationruby_sidekiq_job_duration_secondssidekiq_job_runtime_seconds
Sidekiq queue latencyruby_sidekiq_queue_latency_secondssidekiq_queue_latency
Sidekiq queue backlogruby_sidekiq_queue_backlog_totalsidekiq_jobs_waiting_count
Sidekiq process countruby_sidekiq_process_countsidekiq_active_processes
Puma workersruby_puma_workerspuma_workers
Puma backlogruby_puma_request_backlogpuma_backlog
Puma thread pool capacityruby_puma_thread_pool_capacitypuma_pool_capacity
ActiveRecord poolactive_record_connection_pool_connectionsactiverecord_connection_pool_size
Process/GC (e.g. ruby_rss, ruby_heap_live_slots)emittednot emitted by default; add a custom Yabeda group if needed

Removed environment variables:

  • PROMETHEUS_EXPORTER_HOST, PROMETHEUS_EXPORTER_HOST_SIDEKIQ — no longer needed. Metrics are served in-process by each application.

Retained environment variables:

  • PROMETHEUS_EXPORTER_ENABLED — still the single on/off switch.
  • METRICS_USERNAME, METRICS_PASSWORD — unchanged.
  • PROMETHEUS_EXPORTER_PORT — port the in-process Sidekiq metrics exporter binds to (default 9394).

New optional environment variable:

  • SIDEKIQ_METRICS_URL — internal URL the web container uses to fetch Sidekiq metrics (default http://dawarich_sidekiq:9394/metrics). Override on Dokku, Kubernetes, or any deployment where the worker container’s hostname differs from the docker-compose default.

Prometheus scrape config example:

scrape_configs:
  - job_name: dawarich
    metrics_path: /metrics
    basic_auth:
      username: prometheus     # set via METRICS_USERNAME
      password: prometheus     # set via METRICS_PASSWORD
    static_configs:
      - targets: ['dawarich_app:3000']

Fixed

  • Fixed monthly stats failing with a “Stats update failed” notification when the month’s distance exceeded the int4 limit (2,147,483,647 m ≈ 2.15M km). Affected months stayed stuck on the prior value until recalculated. #1996
  • 500 error on the imports page. #2683
  • Insights weekly pattern now refreshes after monthly stats change, instead of showing a stale snapshot until the next monthly digest job runs. #2478
  • Points with no reverse-geocoding result (ocean, wilderness) are now marked as attempted instead of being re-queued every nightly run; use “Start Reverse Geocoding” to retry after switching providers. #2271
  • Activity detection now falls back to displacement when the tracker reports 0 m/s, so OwnTracks Significant Change mode and similar low-power setups stop misclassifying real movement as stationary. Run Map v2 → Settings → Recalculate tracks & stats to apply to existing tracks. #2390
  • Redis no longer balloons (multi-GB) when browsing photos with Immich or Photoprism connected. Photo thumbnails are no longer copied into the server-side Redis cache; the browser caches them directly via Cache-Control instead. #1609
  • Drag-selecting a region on the map now includes visits attached to your saved Areas (Home, Work, etc.), instead of silently dropping area-only visits from the visit tray. #2420

💙 This release is supported by Steven B., James Manolios, chenrik, aldumil, derpderpington, Chippie, dint, jhalpern, Lex Fradski, Schlufo, cyberswan.at, craftyklaus, Andre, hogenf, naraxius, Embrace, martin4861, Alex, evetters, GregF, Jon Coffee, Lukas, Robbie G, Kilian, Hans G, Chris, tabaha, Andre, Michael C, Chris, Jonah B., Dante, daallex, Tanner A., Milien M., Mathias, Travis S., Matthew F., Johnathan D., bleibdirtroy, no1etal, dixet, Bailey J., Alex D., Benjamin M., Daniel A., Florian, BeeHappy, ChemistryDachshund, OrangeWindies, Michelangelo V., Edward, Erazem Z., Denis Abt, Tony G., Andrew D., Lomky, Osamu Y., Simon van B., Linus T., Christian C., Sebastian, Jan K., Nathan T., Max G., Lars N., Karol B., Konstantin, Johannes H., t3hero, g3lin, Tim, Philipp M., Brand K., Pablo F. M., Jon H., fkB, Mikael, Dániel A., Hai_Tsung, ShooTex, GreenTentacle, PinkahPandah, David, Ken, Denna G., Andre, Hendl91, Jon H., MrRed, Arkadiusz Z., Jake, Bator T., Alex J. H., eps-dev, twiggu, Dragan V., Jerome G., Carsten M., Sheya B., ArnyminerZ, Gustav B., higgs01, Frank F., F. J. Kruz, Jon D., Alexander J. H., Daniel D., Gonzalo M., Ricardo T., Christof Z., Abc123, Narrator, JohnSmith21, smartbert, A.M., Matthew Z., Dror T., Jonathan K., Henrik H., Kyle C., Mario B., Albin H., RN, Phillip S., Bernd, Tom on Patreon and KoFi 💙


What’s Changed

Full Changelog: https://github.com/Freika/dawarich/compare/1.7.6…1.7.7