セルフホスト型サービス
Freika/dawarich avatar
Freika/dawarich

Dawarichで位置履歴を自分で保管する

Google タイムライン (Google ロケーション履歴) に代わるお気に入りの自己ホスト可能な代替手段。

スター 10,406フォーク 375RubyAGPL-3.0

ひと目でわかる

これは何?
Google Timeline代替を掲げるDawarichの取り込み、地図、家族共有、更新停止条件をプライバシーと復元から読む。
誰に向いている?
Google Maps Timelineの履歴を自分の環境で地図や統計として見たい人に向いています。位置情報を外部公開したくない人、頻繁な更新を手動で検証できない人には負担が大きくなります。
商用利用できる?
厳しい条件付きでできます。AGPL-3.0 はネットワーク型コピーレフトのライセンスで、改変版をホスティングサービスなどとしてネットワーク越しに利用させる場合、その利用者にソースコードを同じライセンスで提供する必要があります。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Ruby です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Google Timelineから自分の地図へ

DawarichはGoogle Timeline、つまりGoogle Location Historyのセルフホスト型代替として紹介されています。位置履歴を追跡し、インタラクティブな地図に点、線、ヒートマップ、Fog of Warなどのレイヤーで表示できます。旅行を作成して経路、距離、滞在時間を見たり、国や都市、移動距離を統計で集計したりする機能もREADMEにあります。

履歴は生活パターンそのものなので、Cloud版と自分で管理する構成を分けて考えます。最初はGoogle Takeoutの全量ではなく、期間を区切ったコピーを用意します。インポート前の原本は削除せず、READMEの注意に従って保持し、取り込み後の点数、日付、場所のずれを確認します。

Docker Composeでローカル起動

ローカル起動はリポジトリをクローンし、 `docker compose -f docker/docker-compose.yml up` を実行し、 `http://localhost:3000` を開く手順です。停止は `Ctrl+C` とREADMEにあります。既定値を使うか、`.env.example` を元に `.env` を作って設定を変更できます。

初回は公開プロキシを足さず、ローカルの画面とコンテナログを確認します。アカウント設定にはREADMEにデフォルト認証情報が記載されていますが、起動後すぐに変更し、サンプル資格情報を外部公開環境で使わないことが必要です。ボリューム、DB、アップロードされた写真の保存先は、採用するDocker設定と公式ドキュメントで特定します。

対応するトラッカーと取り込み形式

位置更新はDawarich for iOS、Dawarich for Android、Dawarich Community、Overland、OwnTracks、GPSLogger、PhoneTrack、Home Assistantなどから送れるとREADMEにあります。履歴のインポートはGoogle Maps Timeline、OwnTracks、Strava、Immich、GPX、GeoJSON、写真のEXIFなどが列挙されています。

Dawarichでは、同じデータでも送信元ごとに時刻、精度、座標形式が違う可能性があります。検証では一つのアプリと一つのファイル形式に絞り、送信から地図反映までの遅延、重複点、タイムゾーン、欠落を確認します。複数ソースを同時に取り込むと、誤差の原因が追いにくくなるため、形式ごとの結果を分けて保存します。

家族共有と写真連携

Family Sharingでは家族の位置を同意のもとで地図に表示でき、各メンバーが共有を個別に有効または無効にできるとREADMEにあります。権限の追加だけで十分とは考えず、本人が共有状態を確認できること、停止後に新しい位置が届かないこと、過去データがどう見えるかをユーザーごとに試します。

ImmichやPhotoprismと認証情報を連携すると、写真の地理データを自動インポートし、地図上で表示できます。テストでは写真のEXIF位置、撮影時刻、連携解除後の表示を確認します。写真と位置履歴が結び付く範囲はプライバシー上の重要な観察点で、連携前に対象アルバムと共有相手を限定します。

統計、訪問判定、エクスポート

Dawarichでは、Areasでは地図上に範囲を描き、訪問候補を提案させられます。Visitsはベータで、場所を訪れたか確認または拒否する機能です。Insightsには最も訪れた場所や特定都市の滞在日数の例があり、国別の日数は税務上の居住地確認にも使えると説明されています。これらは集計結果の表示であり、税務判断そのものを保証する機能ではありません。

旅行は期間と二地点の間を可視化し、ルート、距離、時間、メモ、連携写真を扱います。データはGeoJSONまたはGPXへエクスポートできます。インポート前の原本とエクスポート後のファイルを比較し、点数、座標、時刻、メモが失われていないかを確認します。

自動更新を止めるべき理由

READMEの更新方針は明確で、自動更新をしないこと、リリースノートを読んでから更新すること、活発な開発でバグや破壊的変更を想定することを求めています。更新前には必ずデータをバックアップし、インポート元の原本を削除しないよう注意しています。

Dawarichでは、更新ではまず現在の版とDocker設定を記録し、バックアップから別環境へ復元します。復元後にログイン、地図、統計、旅行、写真連携、GeoJSONとGPXのエクスポートを確認してから本番を更新します。最新版を使うというREADMEの案内と、検証なしの自動更新禁止は両立します。版ごとに確認してから進める必要があります。

AGPL-3.0と採用判断

素材のメタデータ上のライセンスはAGPL-3.0です。サービスとして改変版を提供する場合を含む条件は、リポジトリのLICENSE本文と自分の公開形態を照合します。位置データを扱うため、アクセス制御、バックアップの暗号化、プロキシ、環境変数の保護は機能一覧とは別の運用責任です。

Dawarichでは、採用前の具体的な順序は、少量の履歴を取り込み、点と線を確認し、旅行と統計を生成し、GPXまたはGeoJSONへ出し、バックアップから戻すことです。家族共有や写真連携はその後に同意範囲を限定して加えます。更新をリリース単位で確認できない場合は、常用データを移す前に保留する判断が妥当です。

Dawarichでは、位置データの正しさを地図の見た目だけで判定しません。元ファイルの点数とインポート後の点数、タイムゾーン、重複、エクスポート後の座標を比較します。家族共有を試すときはテスト用アカウントを用い、共有を無効にした時刻と新しい位置が止まる時刻を記録します。更新前バックアップは、復元後に旅行、写真連携、統計まで表示できるかを確認します。

編集部の結論

Google Maps Timelineの履歴を自分の環境で地図や統計として見たい人に向いています。位置情報を外部公開したくない人、頻繁な更新を手動で検証できない人には負担が大きくなります。まずテスト用の少量データをインポートし、地図表示、GeoJSONまたはGPXエクスポート、家族共有の同意、バックアップからの復元を確認してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート