# Git Granary - 개인용 Git LFS 서버

> Clean Markdown view of GeekNews topic #16038. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16038](https://news.hada.io/topic?id=16038)
- GeekNews Markdown: [https://news.hada.io/topic/16038.md](https://news.hada.io/topic/16038.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-07-27T10:16:01+09:00
- Updated: 2024-07-27T10:16:01+09:00
- Original source: [github.com/dbushell](https://github.com/dbushell/granary/)
- Points: 9
- Comments: 2

## Topic Body

- TypeScript로 작성된 Git LFS(Large File Storage, 대용량 파일 저장소) 서버 구현체   
- 로컬에서 개인용으로 셀프호스팅 하기 위해 설계됨   
- 멀티 사용자 지원은 가능하지만 기본 HTTP 인증을 사용해야 함(Caddy,Traefik 같은 HTTPS 프록시 뒤에서 사용할 것)  
- 런타임  
  - Granary는 Bun, Deno, Node에서 실행 가능  
  - 어댑터 패턴으로 코딩해서 Deno가 주된 런타임이며, Bun과 Node 어댑터는 최소 구현만 제공  
  - Deno의 표준 라이브러리인 `serveFile`을 사용하여 다운로드 작업 처리  
  - 업로드 시 Web Crypto를 사용하여 SHA-256 계산과 파일 스트리밍을 동시 처리  
  - 각 런타임마다 고유한 HTTP 서버 사용: Bun.serve, Deno.serve, Node의 createServer  
- MIT 라이선스

## Comments



### Comment 27597

- Author: alstjr7375
- Created: 2024-07-27T17:44:25+09:00
- Points: 1

git으로 바이너리 관리하기 너무 힘들어요.  
개선 좀 되었으면 좋겠습니다.

### Comment 27601

- Author: halfenif
- Created: 2024-07-27T23:28:39+09:00
- Points: 1
- Parent comment: 27597
- Depth: 1

사실 바이너리 변경 아니 버전관리용은 아닌거죠.
