homelab-backup
ホームサーバーの安全な自動クラウドバックアップ&同期ソリューション
homelab-backup は、オープンソースの高速クラウド同期ユーティリティ rclone をベースに開発された、ホームサーバー運用者向けの自動バックアップツールです。サーバーの設定ファイル、データベースダンプ、重要ドキュメントをユーザー自身の Google ドライブへと安全に暗号化転送・同期します。
主な特徴とアーキテクチャ
ゼロ中継・ローカル直接通信
ユーザーのホームサーバーから Google ドライブのエンドポイントへと直接 TLS 暗号化通信されます。開発者や外部の中継サーバーを経由しないため、認証情報やファイルが第三者に漏洩する心配がありません。
クライアントサイド暗号化 (rclone crypt)
rclone の暗号化バックエンド機能を活用し、ファイルデータとファイル名の双方を送信前にローカルで暗号化可能。クラウド上でも安全にゼロ知識状態で保管できます。
ヘッドレス自動実行
systemd タイマーや cron と連携し、深夜や定期スケジュールで自動実行。差分検知機能により変更のあったファイルのみを効率的にアップロードします。
世代管理・整合性ハッシュ検証
MD5 / SHA-1 ハッシュ値を利用して同期後のファイル整合性を厳密に検証。古い世代の安全なローテーションとクリーンアップに対応しています。
データフローと通信アーキテクチャ
トークンはローカル内のみ保持
(第三者サーバーの介入なし)
※外部のプロキシサーバーやクラウドアグリゲーターは一切使用していません。データ転送および認証は、すべてユーザー自身のハードウェアと Google の正規 API サーバーとの間でのみ完結します。
要求する Google OAuth スコープと利用理由
Google Developer Console OAuth Verification Compliance Justification
https://www.googleapis.com/auth/drive本スコープを要求する技術的理由:
homelab-backup が drive スコープを必要とするのは、rclone の自律的バックアップエンジンが、バックアップ先フォルダ内で以下の完全なファイルライフサイクル管理を行うためです。
- 差分検出とハッシュ整合性の照合: 既存のバックアップファイルのハッシュ値(MD5/SHA1)や更新日時を取得・比較し、変更のあったファイルのみを効率的に転送するために、既存バックアップフォルダ内のメタデータ読み取り権限が必要です。
- バックアップアーカイブのアップロードと更新: 定期バックアップで生成された新規ファイルや変更されたファイルの書き込み・上書き保存を実行します。
- 古いバックアップ世代の自動ローテーション・削除: Google ドライブのストレージ容量枯渇を防ぐため、指定期間(例: 30日経過)を経過した過去のバックアップファイルを自動削除する世代管理機能を実行します。
rclone による同期および世代ローテーションでは、指定バックアップフォルダ内のファイルの作成・変更・削除・照合が必要です。本ツールはユーザーが設定した特定のバックアップ用ディレクトリツリーに対してのみ動作し、ユーザーの Google ドライブ内のその他の個人的な無関係フォルダにアクセスすることはありません。
Google API Limited Use Disclosure
Google API サービスのユーザーデータに関する限定使用開示
"homelab-backup's use and transfer to any other app of information received from Google APIs will adhere to Google API Services User Data Policy, including the Limited Use requirements."
「homelab-backup による Google API から受信した情報の使用および他のアプリへの転送は、限定使用要件(Limited Use requirements)を含む「Google API サービスのユーザーデータに関するポリシー」に準拠します。」
Purpose: ホームサーバーのデータ(設定・データベース・ドキュメント)を暗号化して Google Drive へ自動バックアップ・同期するため
https://www.googleapis.com/auth/driveReview the full official Google API Services User Data Policy:
Google API Services User Data Policyセキュリティとアクセス権の管理
OAuth 認証トークンの保管場所
ユーザーが OAuth 同意を完了した際に発行されるトークンは、ユーザーのサーバー内(例: ~/.config/rclone/rclone.conf)にのみ保存されます。外部のサーバーやサードパーティへ送信されることは一切ありません。
いつでも取り消し可能なアクセス権限
ユーザーは Google アカウントの管理画面から、いつでも本アプリへのアクセス権限を即座に取り消すことができます。権限を取り消すと、本アプリからのバックアップ通信は直ちに遮断されます。
Google アカウント設定(サードパーティ製アプリとサービス)