Repolode
littledivy

littledivy/durable-git

Un servidor Git donde cada repositorio es un Durable Object, ejecutado en Cloudflare Workers o alojado en celld.

Alternativa open source a:GitHub

Estrellas
264
Forks
13
Issues abiertos
0
Último commit
hace 2 meses

¿Qué es?

dgit es un servidor Git basado en Cloudflare Durable Objects. Cada repositorio es su propio objeto, con una base de datos SQLite privada que almacena sus objetos y refs y admite el protocolo Git Smart HTTP, por lo que se puede clonar, hacer fetch y push con un cliente Git estándar. No hay sistema de archivos ni servidor de origen, y los repositorios que nadie utiliza prácticamente no tienen costo. Las lecturas son públicas, los push requieren un token y hacer push con un nombre nuevo crea el repositorio.

El proyecto implementa Git en TypeScript e incluye el encuadre pkt-line, el análisis de packfiles con resolución de deltas, la generación de packs y un diff de Myers. Cuando se vincula un bucket de R2, los bytes de los packs se almacenan en R2, mientras que el índice permanece en SQLite; además, los clones completos se almacenan en caché y se transmiten desde el Worker. Admite clones superficiales, fetch incrementales y actualizaciones forzadas.

La interfaz web integrada sigue el diseño de cgit e incluye vistas de log, árbol y blobs con resaltado de sintaxis, blame, diffs, salida de format-patch, snapshots en tar.gz y zip, y feeds Atom. El paquete también se puede usar como biblioteca para definir hooks personalizados de autorización y push.

Funciones clave

  • 01Sirve el protocolo Git Smart HTTP para que los clientes Git estándar funcionen sin cambios
  • 02Almacena cada repositorio en su propio Durable Object con SQLite
  • 03Bucket de R2 opcional para almacenar packs y guardar clones completos en caché
  • 04Admite clones superficiales, fetch incremental y thin packs
  • 05Ofrece una interfaz web al estilo de cgit con log, blame, diffs y snapshots
  • 06Se puede usar como biblioteca con hooks personalizados de autorización y push

Casos de uso

  • Alojar repositorios Git privados en Cloudflare Workers sin administrar un servidor
  • Ejecutar un servidor Git autogestionado en celld con almacenamiento replicado
  • Añadir alojamiento Git con control de acceso personalizado a una aplicación existente
  • Explorar el historial de un repositorio y descargar snapshots desde una interfaz web

Inicio rápido

  1. 1

    Instalar las dependencias

    npm install
  2. 2

    Desplegar el Worker en Cloudflare

    npx wrangler deploy
  3. 3

    Configurar el secreto de la contraseña de push

    npx wrangler secret put GIT_TOKEN
  4. 4

    Añadir el host desplegado como remoto y hacer push

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

Antes de usarlo

  • Las pull requests están desactivadas; las contribuciones se envían por correo electrónico mediante git format-patch.
  • Los clones muy grandes con todo el historial pueden superar los límites de CPU de Cloudflare Workers; se recomienda usar celld para los repositorios más grandes.
  • El despliegue en Cloudflare Workers está sujeto a límites de memoria y CPU por solicitud.

Temas

Preguntas frecuentes

¿Qué es durable-git?
Un servidor Git donde cada repositorio es un Durable Object, ejecutado en Cloudflare Workers o alojado en celld. dgit es un servidor Git basado en Cloudflare Durable Objects. Cada repositorio es su propio objeto, con una base de datos SQLite privada que almacena sus objetos y refs y admite el protocolo Git Smart HTTP, por lo que se puede clonar, hacer fetch y push con un cliente Git estándar. No hay sistema de archivos ni servidor de origen, y los repositorios que nadie utiliza prácticamente no tienen costo. Las lecturas son públicas, los push requieren un token y hacer push con un nombre nuevo crea el repositorio.
¿durable-git es gratuito? ¿Qué licencia tiene?
durable-git es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿durable-git sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de durable-git fue el 21 ago 2026.
¿Para qué puedo usar durable-git?
Alojar repositorios Git privados en Cloudflare Workers sin administrar un servidor Ejecutar un servidor Git autogestionado en celld con almacenamiento replicado Añadir alojamiento Git con control de acceso personalizado a una aplicación existente Explorar el historial de un repositorio y descargar snapshots desde una interfaz web
¿Cómo se instala durable-git?
Instalar las dependencias: npm install Desplegar el Worker en Cloudflare: npx wrangler deploy Configurar el secreto de la contraseña de push: npx wrangler secret put GIT_TOKEN Añadir el host desplegado como remoto y hacer push: git remote add origin https://<your-host>/myrepo.git
¿Dónde consigo durable-git?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/littledivy/durable-git

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados