Self-hosted tool for scheduled backup and restore of PostgreSQL, MySQL, MongoDB, Redis, SQLite, Docker volumes and more, managed from a web dashboard.
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
Clone this repository (no command given in README)
- 2
Generate the JWT_SECRET and ENCRYPTION_SECRET pair
npm run secrets - 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
A self-hosted web interface for BorgBackup that handles repository setup, scheduled backups, archive browsing, and restores without the command line.
Self-hosted app that monitors GitHub, GitLab, Codeberg and Forgejo releases and sends email or Apprise notifications.
A cross-platform Git credential helper built on .NET that handles secure sign-in and token storage for GitHub, Azure DevOps, GitLab and Bitbucket.
A desktop menu bar app that aggregates GitHub, GitLab, Gitea, Forgejo, Codeberg and Bitbucket notifications in one place.
Self-hosted photo and video management app with backup from mobile, facial recognition, and search, offered as a Google Photos alternative.