Servicio de desarrollo de software integral y autohospedado, escrito en Go, que ofrece alojamiento Git, revisión de código, seguimiento de incidencias, paquetes y CI/CD.
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
Instalar las dependencias
npm install - 2
Desplegar el Worker en Cloudflare
npx wrangler deploy - 3
Configurar el secreto de la contraseña de push
npx wrangler secret put GIT_TOKEN - 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
Un sistema de archivos virtual dentro de un Cloudflare Durable Object que ofrece a los agentes de IA un espacio de trabajo con backends de ejecución intercambiables basados en contenedores o Workers.
Plataforma autohospedada compatible con Cloudflare Workers, distribuida como un único binario de Rust para ejecutar Workers, KV, D1, R2 y más en una máquina.
Plataforma de automatización de workflows con licencia fair-code para crear agentes de IA y flujos de trabajo, que combina un lienzo visual con código personalizado y más de 1500 integraciones.
Plataforma de agenda autohospedada y de código abierto (fork comunitario de Cal.com con licencia MIT) para reservar reuniones y gestionar calendarios.
Un ORM headless y ligero para TypeScript compatible con PostgreSQL, MySQL y SQLite, que funciona en Node.js, Bun, Deno y entornos edge.