Go로 작성된 셀프 호스팅 올인원 소프트웨어 개발 서비스로, Git 호스팅, 코드 리뷰, 이슈, 패키지 및 CI/CD를 제공합니다.
littledivy/durable-git
각 저장소를 Durable Object로 운영하는 git 서버로, Cloudflare Workers 또는 celld에서 자체 호스팅할 수 있습니다.
대체할 수 있는 제품:GitHub
- 스타
- 264
- 포크
- 13
- 열린 이슈
- 0
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
dgit은 Cloudflare Durable Objects를 기반으로 만든 git 서버입니다. 각 저장소는 객체 하나에 대응하며, 객체마다 저장소의 객체와 ref를 보관하는 비공개 SQLite 데이터베이스가 있고 git smart HTTP 프로토콜을 지원하므로 일반 git 클라이언트로 clone, fetch, push할 수 있습니다. 파일 시스템이나 origin 서버가 필요 없으며, 사용되지 않는 저장소는 거의 비용이 들지 않습니다. 읽기는 공개되어 있고 push에는 토큰이 필요하며, 새 이름으로 push하면 저장소가 생성됩니다.
이 프로젝트는 pkt-line 프레이밍, delta 해석을 포함한 packfile 파싱, pack 생성, Myers diff 등을 포함해 TypeScript로 git을 구현합니다. R2 버킷을 연결하면 pack 데이터는 R2에 저장되고 인덱스는 SQLite에 남으며, 전체 clone은 캐시되어 Worker에서 스트리밍됩니다. shallow clone, 증분 fetch, 강제 업데이트도 지원합니다.
내장 웹 인터페이스는 cgit 레이아웃을 따르며, 구문 강조가 적용된 log, tree, blob 보기와 blame, diff, format-patch 출력, tar.gz 및 zip 스냅샷, Atom 피드를 제공합니다. 이 패키지를 라이브러리로 사용해 사용자 지정 권한 부여 및 push 훅을 정의할 수도 있습니다.
핵심 기능
- 01일반 git 클라이언트에서 별도 변경 없이 사용할 수 있도록 git smart HTTP 프로토콜을 제공합니다
- 02각 저장소를 SQLite를 사용하는 독립적인 Durable Object에 저장합니다
- 03pack 저장 및 전체 clone 캐싱에 R2 버킷을 선택적으로 사용할 수 있습니다
- 04shallow clone, 증분 fetch, thin pack을 지원합니다
- 05log, blame, diff, 스냅샷을 제공하는 cgit 스타일 웹 인터페이스를 제공합니다
- 06라이브러리로 사용해 사용자 지정 권한 부여 및 push 훅을 설정할 수 있습니다
활용 사례
- 서버를 관리하지 않고 Cloudflare Workers에서 비공개 git 저장소를 호스팅
- 복제 스토리지를 사용하는 celld에서 자체 호스팅 git 서버 운영
- 기존 애플리케이션에 사용자 지정 접근 제어가 적용된 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
사용 전 알아둘 점
- 풀 리퀘스트는 비활성화되어 있습니다. 기여는 git format-patch를 이메일로 보내는 방식으로 진행합니다.
- 전체 기록이 포함된 매우 큰 클론은 Cloudflare Workers의 CPU 제한을 초과할 수 있습니다. 가장 큰 저장소에는 celld를 권장합니다.
- Cloudflare Workers 배포에는 메모리 및 CPU 요청 한도가 있습니다.
토픽
자주 묻는 질문
- durable-git은(는) 무엇인가요?
- 각 저장소를 Durable Object로 운영하는 git 서버로, Cloudflare Workers 또는 celld에서 자체 호스팅할 수 있습니다. dgit은 Cloudflare Durable Objects를 기반으로 만든 git 서버입니다. 각 저장소는 객체 하나에 대응하며, 객체마다 저장소의 객체와 ref를 보관하는 비공개 SQLite 데이터베이스가 있고 git smart HTTP 프로토콜을 지원하므로 일반 git 클라이언트로 clone, fetch, push할 수 있습니다. 파일 시스템이나 origin 서버가 필요 없으며, 사용되지 않는 저장소는 거의 비용이 들지 않습니다. 읽기는 공개되어 있고 push에는 토큰이 필요하며, 새 이름으로 push하면 저장소가 생성됩니다.
- durable-git은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- durable-git은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- durable-git은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. durable-git의 마지막 커밋은 2026년 8월 21일입니다.
- durable-git은(는) 어디에 사용할 수 있나요?
- 서버를 관리하지 않고 Cloudflare Workers에서 비공개 git 저장소를 호스팅 복제 스토리지를 사용하는 celld에서 자체 호스팅 git 서버 운영 기존 애플리케이션에 사용자 지정 접근 제어가 적용된 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를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
AI 에이전트에 플러그형 컨테이너 또는 Worker 기반 실행 백엔드를 제공하는 Cloudflare Durable Object 내 가상 파일 시스템
Workers, KV, D1, R2 등을 한 대의 머신에서 실행하는 Cloudflare Workers 호환 셀프 호스팅 플랫폼
Cloudflare Workers와 D1 기반의 북마크 관리자로, 계정 없이 북마클릿이나 Chrome 확장 프로그램으로 링크를 저장할 수 있습니다.
DNS, SSL, 헤더, 서버 정보와 보안 설정을 필요할 때 점검하는 올인원 오픈소스 OSINT 도구
Zapier 대안인 오픈소스 워크플로 자동화 플랫폼으로, TypeScript 통합 기능을 MCP 서버로도 실행할 수 있습니다.