Repolode
TimWitzdam

TimWitzdam/GitSave

A self-hosted web app that backs up your Git repositories on a schedule, with retention limits and SMB share support.

Stars
342
Forks
16
Open issues
6
Last commit
18 days ago

What is it?

GitSave is a self-hosted application for backing up Git repositories automatically. You set up schedules through its web interface, and it pulls copies of your repositories at the intervals you choose, so you keep a local archive independent of the hosting platform.

The project supports GitHub, GitLab and other Git platforms, and it can be configured with your own authentication provider. You can choose how many backups to keep, pause and resume schedules, and review the backup history. Backups can be written to a local folder or to an SMB share.

It is intended to be deployed with Docker, either through a single docker run command or a Docker Compose file. Secrets for JWT and encryption must be set before running it.

Key features

  • 01Web interface for managing backup schedules
  • 02Scheduled backups with pause and resume
  • 03Configurable number of backups to keep
  • 04Supports GitHub, GitLab and other Git platforms
  • 05Backups can be written to an SMB share
  • 06Docker-based installation

Use cases

  • Keeping an offline copy of your own repositories hosted on GitHub or GitLab
  • Archiving favourite open-source projects in case they are removed or changed
  • Storing repository backups on a home network file share

Quick start

  1. 1

    Clone this repository (no command given in README)

  2. 2

    Generate the JWT_SECRET and ENCRYPTION_SECRET pair

    npm run secrets
  3. 3

    Start GitSave with Docker, replacing the secret placeholders

    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

Things to know

  • You must generate and set secure secrets before deploying, and the encryption secret must be exactly 32 characters.
  • It is a self-hosted app, so you need to run and maintain your own server or Docker host.

In collections

Topics

FAQ

What is GitSave?
A self-hosted web app that backs up your Git repositories on a schedule, with retention limits and SMB share support. GitSave is a self-hosted application for backing up Git repositories automatically. You set up schedules through its web interface, and it pulls copies of your repositories at the intervals you choose, so you keep a local archive independent of the hosting platform.
Is GitSave free to use? What license does it have?
GitSave is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is GitSave still maintained?
Actively maintained. The last commit to GitSave was on Oct 20, 2026.
What can I use GitSave for?
Keeping an offline copy of your own repositories hosted on GitHub or GitLab Archiving favourite open-source projects in case they are removed or changed Storing repository backups on a home network file share
How do I install GitSave?
Clone this repository (no command given in README) Generate the JWT_SECRET and ENCRYPTION_SECRET pair: npm run secrets Start GitSave with Docker, replacing the secret placeholders: 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
Where can I get GitSave?
The source code and installation instructions are on GitHub: https://github.com/TimWitzdam/GitSave

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects