selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
GitSave logo

Self-host GitSave

1.4.0

Self-hosted Git repository backup with scheduling

ReleaseOpen SourceApache-2.0
Updated9 hours ago
LanguageTypescript
Setup difficultyEasy
MobileResponsive
Stars
340
Port
3000 (Web interface)
Docker
timwitzdam/gitsave
Install with Docker
GitSave web interface screenshot

What is GitSave?

GitSave is a self-hosted, open-source application that backs up Git repositories from multiple platforms including GitHub and GitLab. It provides a responsive web interface for scheduling automated backups, choosing how many backup versions to retain, pausing and resuming schedules, viewing backup history, and storing backups on SMB network shares. The application runs as a Docker container and requires JWT_SECRET and ENCRYPTION_SECRET environment variables for security. It uses a built-in authentication system that can be disabled via DISABLE_AUTH. The project is licensed under Apache-2.0 and actively maintained with regular releases.

Should you self-host GitSave?

GitSave scores 46/100 on selfhost.directory (how scoring works) and ranks #8 of 15 in Backup Management. It has 340 GitHub stars.

It shipped 1 stable release in the past year. The latest, 1.4.0, came out on 26 September 2026.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is fogproject (63/100, 1 690 stars). It scores higher overall, so compare the two before you pick. See GitSave vs fogproject side by side.

Features

  • Backup history
  • Backup retention
  • Custom authentication provider
  • Multi-Platform Git Support
  • Pause/resume schedules
  • Scheduled Git repository backups
  • SMB share backup destination

GitSave README

How to install GitSave

Install GitSave with Docker

Environment variables
JWT_SECRET, ENCRYPTION_SECRET, DISABLE_AUTH

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

Requires JWT_SECRET and ENCRYPTION_SECRET (32 chars). Run `npm run secrets` to generate.

How to configure GitSave

  • DISABLE_AUTHfalseDisable built-in authentication

    Disable built-in authentication

    values: true, false

  • ENCRYPTION_SECRET32-character secret for encryption

    32-character secret for encryption

    values: 32 characters

  • JWT_SECRETSecret key for JWT token signing

    Secret key for JWT token signing

GitSave releases & version history

More in Backup Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…