Универсальная платформа для разработки ПО на Go с самостоятельным размещением: Git-хостинг, проверка кода, задачи, пакеты и CI/CD.
littledivy/durable-git
Git-сервер, в котором каждый репозиторий — это Durable Object: он работает на Cloudflare Workers или размещается самостоятельно на celld.
Open source альтернатива:GitHub
- Звёзды
- 264
- Форки
- 13
- Открытые issues
- 0
- Последний коммит
- 2 месяца назад
Что это?
dgit — Git-сервер на базе Cloudflare Durable Objects. Каждый репозиторий — отдельный объект с собственной закрытой базой SQLite, в которой хранятся объекты и refs; он поддерживает git smart HTTP protocol, поэтому с ним работают обычные Git-клиенты — можно клонировать репозитории, получать и отправлять изменения. Файловая система и origin-сервер не нужны, а репозитории, к которым никто не обращается, обходятся почти бесплатно. Чтение открыто для всех, для отправки изменений нужен токен, а отправка в репозиторий с новым именем создаёт его.
Проект реализует Git на TypeScript: в него входят обработка pkt-line, разбор packfile с разрешением delta, создание pack-файлов и алгоритм diff Майерса. Если подключён бакет R2, содержимое pack-файлов хранится в R2, а индекс — в SQLite; полные клоны кэшируются и передаются потоком из Worker. Поддерживаются поверхностное клонирование, инкрементальное получение изменений и принудительное обновление.
Встроенный веб-интерфейс оформлен в стиле cgit: в нём есть представления журнала, дерева и файлов с подсветкой синтаксиса, blame, diff, вывод в формате format-patch, снимки в tar.gz и zip, а также Atom-ленты. Пакет можно использовать и как библиотеку, чтобы задавать собственные хуки авторизации и отправки изменений.
Ключевые возможности
- 01Поддерживает git smart HTTP protocol, поэтому обычные Git-клиенты работают без изменений
- 02Хранит каждый репозиторий в отдельном Durable Object с SQLite
- 03Поддерживает необязательный бакет R2 для хранения pack-файлов и кэширования полных клонов
- 04Поддерживает поверхностное клонирование, инкрементальное получение изменений и thin packs
- 05Предоставляет веб-интерфейс в стиле cgit с журналом, blame, diff и снимками
- 06Может использоваться как библиотека с собственными хуками авторизации и отправки изменений
Сценарии использования
- Размещение закрытых Git-репозиториев на Cloudflare Workers без управления сервером
- Самостоятельное развёртывание Git-сервера на celld с реплицируемым хранилищем
- Добавление Git-хостинга с собственным контролем доступа в существующее приложение
- Просмотр истории репозитория и скачивание снимков через веб-интерфейс
Быстрый старт
- 1
Установить зависимости
npm install - 2
Развернуть Worker в Cloudflare
npx wrangler deploy - 3
Задать секрет push password
npx wrangler secret put GIT_TOKEN - 4
Добавить развернутый хост как удаленный репозиторий и выполнить push
git remote add origin https://<your-host>/myrepo.git
Что важно знать
- Pull request отключены; вклад в проект можно отправить по электронной почте с помощью git format-patch.
- Очень большие клоны со всей историей могут превысить ограничения Cloudflare Workers по CPU; для самых крупных репозиториев рекомендуется использовать celld.
- При развертывании в Cloudflare Workers действуют ограничения на использование памяти и CPU для запросов.
Темы
Частые вопросы
- Что такое durable-git?
- Git-сервер, в котором каждый репозиторий — это Durable Object: он работает на Cloudflare Workers или размещается самостоятельно на celld. dgit — Git-сервер на базе Cloudflare Durable Objects. Каждый репозиторий — отдельный объект с собственной закрытой базой SQLite, в которой хранятся объекты и refs; он поддерживает git smart HTTP protocol, поэтому с ним работают обычные Git-клиенты — можно клонировать репозитории, получать и отправлять изменения. Файловая система и origin-сервер не нужны, а репозитории, к которым никто не обращается, обходятся почти бесплатно. Чтение открыто для всех, для отправки изменений нужен токен, а отправка в репозиторий с новым именем создаёт его.
- durable-git можно использовать бесплатно? Какая у него лицензия?
- durable-git распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- durable-git всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в durable-git — 21 авг. 2026 г..
- Для чего можно использовать durable-git?
- Размещение закрытых Git-репозиториев на Cloudflare Workers без управления сервером Самостоятельное развёртывание Git-сервера на celld с реплицируемым хранилищем Добавление Git-хостинга с собственным контролем доступа в существующее приложение Просмотр истории репозитория и скачивание снимков через веб-интерфейс
- Как установить durable-git?
- Установить зависимости: npm install Развернуть Worker в Cloudflare: npx wrangler deploy Задать секрет push password: npx wrangler secret put GIT_TOKEN Добавить развернутый хост как удаленный репозиторий и выполнить push: git remote add origin https://<your-host>/myrepo.git
- Где скачать durable-git?
- Исходный код и инструкции по установке — на GitHub: https://github.com/littledivy/durable-git
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Виртуальная файловая система в Cloudflare Durable Object, которая предоставляет AI-агентам рабочее пространство с подключаемыми средами выполнения на базе контейнеров или Workers.
Платформа, совместимая с Cloudflare Workers, для самостоятельного хостинга: один бинарный файл Rust запускает Workers, KV, D1, R2 и другие сервисы на одной машине.
Платформа fair-code для автоматизации рабочих процессов и создания AI-агентов: визуальный редактор, пользовательский код и более 1500 интеграций.
Самостоятельно размещаемая платформа для планирования встреч и управления календарями с открытым исходным кодом, форк Cal.com под лицензией MIT.
Лёгкая ORM без лишних абстракций для TypeScript, поддерживающая PostgreSQL, MySQL и SQLite в Node.js, Bun, Deno и edge-средах.