Repolode
TimWitzdam

TimWitzdam/GitSave

スケジュールに沿ってGitリポジトリをバックアップする、保持数の上限とSMB共有に対応したセルフホスト型Webアプリです。

スター
342
フォーク
16
未解決の Issue
6
最終コミット
17 日前

これは何?

GitSaveは、Gitリポジトリを自動でバックアップするセルフホスト型アプリケーションです。Webインターフェースからスケジュールを設定すると、指定した間隔でリポジトリのコピーを取得するため、ホスティングプラットフォームとは別にローカルアーカイブを保持できます。

GitHub、GitLabをはじめとする各種Gitプラットフォームに対応し、独自の認証プロバイダーを設定できます。保持するバックアップ数を指定できるほか、スケジュールの一時停止と再開、バックアップ履歴の確認も可能です。バックアップ先にはローカルフォルダーまたはSMB共有を指定できます。

Dockerでのデプロイを想定しており、単一のdocker runコマンドまたはDocker Composeファイルを使って起動できます。実行前にJWTと暗号化用のシークレットを設定する必要があります。

主な機能

  • 01バックアップスケジュールを管理するWebインターフェース
  • 02一時停止と再開に対応した定期バックアップ
  • 03保持するバックアップ数を設定可能
  • 04GitHub、GitLabをはじめとする各種Gitプラットフォームに対応
  • 05SMB共有へのバックアップに対応
  • 06Dockerベースのインストール

ユースケース

  • GitHubやGitLabでホストしている自分のリポジトリのオフラインコピーを保持する
  • 削除や変更に備えて、お気に入りのオープンソースプロジェクトをアーカイブする
  • ホームネットワーク上のファイル共有にリポジトリのバックアップを保存する

クイックスタート

  1. 1

    このリポジトリをクローンする(READMEにコマンドの記載なし)

  2. 2

    JWT_SECRET と ENCRYPTION_SECRET のペアを生成する

    npm run secrets
  3. 3

    シークレットのプレースホルダーを置き換えて、Docker で GitSave を起動する

    docker run -d --restart=always -p 3000:3000 -v gitsave:/app/data -v ./backups:/app/backups -e JWT_SECRET={YOUR_SECRET_HERE} -e ENCRYPTION_SECRET={YOUR_SECRET_HERE_32_CHARACTERS} -e DISABLE_AUTH=false --name GitSave timwitzdam/gitsave:latest

使う前に知っておきたいこと

  • デプロイ前に安全なシークレットを生成して設定する必要があります。また、暗号化シークレットは正確に32文字である必要があります。
  • セルフホスト型アプリのため、自分でサーバーまたは Docker ホストを実行・管理する必要があります。

収録されている特集

トピック

よくある質問

GitSave とは?
スケジュールに沿ってGitリポジトリをバックアップする、保持数の上限とSMB共有に対応したセルフホスト型Webアプリです。 GitSaveは、Gitリポジトリを自動でバックアップするセルフホスト型アプリケーションです。Webインターフェースからスケジュールを設定すると、指定した間隔でリポジトリのコピーを取得するため、ホスティングプラットフォームとは別にローカルアーカイブを保持できます。
GitSave は無料で使えますか?ライセンスは?
GitSave は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
GitSave は今もメンテナンスされていますか?
活発にメンテナンス中。GitSave の最終コミットは 2026年10月20日 です。
GitSave は何に使えますか?
GitHubやGitLabでホストしている自分のリポジトリのオフラインコピーを保持する 削除や変更に備えて、お気に入りのオープンソースプロジェクトをアーカイブする ホームネットワーク上のファイル共有にリポジトリのバックアップを保存する
GitSave のインストール方法は?
このリポジトリをクローンする(READMEにコマンドの記載なし) JWT_SECRET と ENCRYPTION_SECRET のペアを生成する: npm run secrets シークレットのプレースホルダーを置き換えて、Docker で GitSave を起動する: docker run -d --restart=always -p 3000:3000 -v gitsave:/app/data -v ./backups:/app/backups -e JWT_SECRET={YOUR_SECRET_HERE} -e ENCRYPTION_SECRET={YOUR_SECRET_HERE_32_CHARACTERS} -e DISABLE_AUTH=false --name GitSave timwitzdam/gitsave:latest
GitSave はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/TimWitzdam/GitSave

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト