Repolode
littledivy

littledivy/durable-git

Servidor Git em que cada repositório é um Durable Object, executado no Cloudflare Workers ou hospedado por conta própria no celld.

Alternativa open source a:GitHub

Estrelas
264
Forks
13
Issues abertas
0
Último commit
há 2 meses

O que é?

dgit é um servidor Git baseado no Cloudflare Durable Objects. Cada repositório é seu próprio objeto, com um banco de dados SQLite privado que armazena os objetos e refs e implementa o protocolo Git Smart HTTP, permitindo que um cliente Git padrão faça clone, fetch e push. Não há sistema de arquivos nem servidor de origem, e repositórios que ninguém acessa têm custo quase zero. As leituras são públicas, pushes exigem um token e um push para um novo nome cria o repositório.

O projeto implementa Git em TypeScript, incluindo o enquadramento pkt-line, a análise de packfiles com resolução de deltas, a geração de packs e um diff de Myers. Quando um bucket R2 está vinculado, os bytes dos packs são armazenados no R2, enquanto o índice permanece no SQLite; clones completos são armazenados em cache e transmitidos pelo Worker. Clones superficiais, fetches incrementais e atualizações forçadas são compatíveis.

A interface web integrada segue o layout do cgit, com visualizações de log, árvore e blobs com realce de sintaxe, blame, diffs, saída de format-patch, snapshots tar.gz e zip e feeds Atom. O pacote também pode ser usado como biblioteca para definir hooks personalizados de autorização e push.

Recursos principais

  • 01Implementa o protocolo Git Smart HTTP para que clientes Git padrão funcionem sem alterações
  • 02Armazena cada repositório em seu próprio Durable Object com SQLite
  • 03Bucket R2 opcional para armazenar packs e manter clones completos em cache
  • 04Dá suporte a clones superficiais, fetch incremental e thin packs
  • 05Oferece uma interface web no estilo cgit com log, blame, diffs e snapshots
  • 06Pode ser usado como biblioteca com hooks personalizados de autorização e push

Casos de uso

  • Hospedar repositórios Git privados no Cloudflare Workers sem gerenciar um servidor
  • Executar um servidor Git autohospedado no celld com armazenamento replicado
  • Adicionar hospedagem Git com controle de acesso personalizado a um aplicativo existente
  • Navegar pelo histórico de repositórios e baixar snapshots pela interface web

Início rápido

  1. 1

    Instale as dependências

    npm install
  2. 2

    Faça o deploy do Worker na Cloudflare

    npx wrangler deploy
  3. 3

    Configure o segredo da senha de push

    npx wrangler secret put GIT_TOKEN
  4. 4

    Adicione o host implantado como remoto e faça push

    git remote add origin https://<your-host>/myrepo.git

Antes de usar

  • Pull requests estão desativados; as contribuições devem ser enviadas por e-mail usando git format-patch.
  • Clones muito grandes com o histórico completo podem exceder os limites de CPU do Cloudflare Workers; recomenda-se usar celld para os repositórios maiores.
  • O deploy no Cloudflare Workers está sujeito a limites de memória e CPU por solicitação.

Tópicos

Perguntas frequentes

O que é durable-git?
Servidor Git em que cada repositório é um Durable Object, executado no Cloudflare Workers ou hospedado por conta própria no celld. dgit é um servidor Git baseado no Cloudflare Durable Objects. Cada repositório é seu próprio objeto, com um banco de dados SQLite privado que armazena os objetos e refs e implementa o protocolo Git Smart HTTP, permitindo que um cliente Git padrão faça clone, fetch e push. Não há sistema de arquivos nem servidor de origem, e repositórios que ninguém acessa têm custo quase zero. As leituras são públicas, pushes exigem um token e um push para um novo nome cria o repositório.
durable-git é gratuito? Qual é a licença?
durable-git é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
durable-git ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de durable-git foi em 21 de ago. de 2026.
Para que posso usar durable-git?
Hospedar repositórios Git privados no Cloudflare Workers sem gerenciar um servidor Executar um servidor Git autohospedado no celld com armazenamento replicado Adicionar hospedagem Git com controle de acesso personalizado a um aplicativo existente Navegar pelo histórico de repositórios e baixar snapshots pela interface web
Como instalar durable-git?
Instale as dependências: npm install Faça o deploy do Worker na Cloudflare: npx wrangler deploy Configure o segredo da senha de push: npx wrangler secret put GIT_TOKEN Adicione o host implantado como remoto e faça push: git remote add origin https://<your-host>/myrepo.git
Onde consigo durable-git?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/littledivy/durable-git

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados