explaingit

timwitzdam/gitsave

Analysis updated 2026-05-18

309TypeScriptAudience · developerComplexity · 2/5Setup · moderate

TLDR

A self-hosted tool that automatically backs up your GitHub, GitLab, or other Git repositories on a schedule.

Mindmap

mindmap
  root((GitSave))
    What it does
      Backs up Git repos
      Runs on a schedule
      Keeps backup history
    Tech stack
      TypeScript
      Docker
      Web interface
    Use cases
      Protect source code
      SMB share storage
      Self hosted backups
    Audience
      Developers
      Self hosters
      DevOps teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically back up all your GitHub or GitLab repositories on a recurring schedule.

USE CASE 2

Keep a set number of historical backups in case a repository is deleted or corrupted.

USE CASE 3

Store repository backups on a local SMB network share instead of the cloud.

USE CASE 4

Self-host a private backup system without relying on a third party SaaS.

What is it built with?

TypeScriptDocker

How does it compare?

timwitzdam/gitsavesupabase/examples-archivevercel-labs/mdxg
Stars309302316
LanguageTypeScriptTypeScriptTypeScript
Last pushed2023-02-09
MaintenanceDormant
Setup difficultymoderateeasymoderate
Complexity2/51/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Docker and setting a JWT secret plus a 32-character encryption secret.

In plain English

GitSave is a self-hosted, open-source tool that keeps backups of your Git repositories. If you use GitHub, GitLab, or another Git platform, GitSave can periodically copy your repositories somewhere safe, so you still have your code even if the original hosting goes down or a repository is deleted by accident. You run GitSave yourself using Docker, either with a single command or with Docker Compose. It gives you a web interface where you set up backup schedules, choose how many past backups to keep, and pause or resume those schedules whenever you want. You can also view a history of past backups from the same interface. Beyond GitHub and GitLab, it supports other Git platforms, and it can save backups to an SMB network share as well as to local storage. GitSave also supports connecting your own authentication provider if you do not want to rely on its built in login, and there is an option to disable authentication entirely for simpler setups. Before deploying it, the project asks you to set two secret values, a JWT secret and an encryption secret, which protect stored data and login sessions. This project is aimed at developers and self-hosters who already keep their own servers running and want an extra layer of protection for their source code. It is written in TypeScript and packaged as a Docker image, so no manual installation of dependencies is needed beyond having Docker available. The project is open source, so anyone can inspect how it works, run it on their own infrastructure, or contribute changes back to it. Because the backups are stored on hardware you control, whether that is a home server, a small cloud instance, or a network share, you are not depending on any single Git hosting company staying online or keeping your account active. This kind of independent copy is especially useful for people who maintain many repositories across different platforms and want one consistent place to check that everything is actually being preserved.

Copy-paste prompts

Prompt 1
Help me write a docker-compose.yml file to deploy GitSave with a JWT secret and encryption secret.
Prompt 2
Show me how to generate a secure 32 character encryption secret for GitSave.
Prompt 3
Explain how to configure GitSave to back up my GitLab repositories on a schedule.
Prompt 4
Walk me through setting up an SMB share as a backup destination for GitSave.
Prompt 5
How do I disable authentication in GitSave for a quick local test setup?

Frequently asked questions

What is gitsave?

A self-hosted tool that automatically backs up your GitHub, GitLab, or other Git repositories on a schedule.

What language is gitsave written in?

Mainly TypeScript. The stack also includes TypeScript, Docker.

How hard is gitsave to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gitsave for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.