Synology NAS Git Server 운용하는 법

인공능지연구소·2025년 10월 12일
post-thumbnail

사전 지식

Synology에서 Git 서버를 운용하는 방법은 여러가지가 있다.
본 문서에서 다루는 방법은 가장 단순하게 SSH를 기반으로 운영하는 방법인데,
Docker를 이용하여 GUI로 운영하는 다른 방법들도 존재한다.

기준 환경

  • DSM 버전: DSM 7.2.2-72806 Update 4

준비사항

  • 패키지 센터에서 Git Server 설치
  • SSH 서비스 활성화
    DSM -> 제어판 -> 터미널 및 SNMP -> SSH 서비스 활성화

    SSH 활성화 시 기본 포트(22) 말고 다른 포트를 사용하는 것이 보안 측면에서 안전

  • 공유 폴더 준비 및 사용자 권한(읽기/쓰기) 부여

    조직에서 운용 시 gitusers 같은 그룹을 만들고,
    사용자들을 그룹에 넣은 뒤 공유 폴더에 그룹에 대한 권한 부여하면 편리

[Server (Synology NAS)] Bare Git Repository 생성하기

Bare Git Repository(Bare Git 저장소)는 작업 디렉터리가 없는 순수한 저장소를 의미한다.
이 개념을 이해하려면 저장소의 구조를 이해야하는데,
git init을 실행한 뒤의 저장소 구조 예시는 다음과 같다.

myproject/
 ├── .git/        ← 실제 Git 데이터 저장소
 ├── src/         
 ├── README.md
 └── ...

여기서 .git/ 폴더 자체만 만들어 준비한 것이 Bare Git 저장소다.
Bare 저장소는 다음의 예시 같이 생겼다.

myproject.git/
 ├── HEAD
 ├── config
 ├── objects/
 ├── refs/
 └── ...

시놀로지 NAS에서 이 Bare Git 저장소를 생성하는 절차는 다음과 같다.
Step 1. SSH로 NAS에 접속(로컬 PC에서)

ssh ${사용자 이름}@${주소}
# 예: ssh dev@192.168.0.10 -p 22

Step 2. 저장소 .git 디렉터리 생성
예: my_project.git
Step 3. 저장소 Bare 초기화
저장소 디렉토리에 진입해서 다음의 명령어로 초기화

git init --bare --shared=group

[Client (개발 PC)] 원격 저장소 등록하기

일단 클라이언트에서 작업중인 디렉터리에 대해 `git init과 최초 커밋이 완료되어 있어야 한다.
이후 다음의 명령어로 내가 생성한 Bare Git 저장소를 원격 저장소로 등록할 수 있다.

git remote add origin ssh://${사용자 이름}@${주소}:${Bare Git 저장소의 경로}
# 예: 
profile
내가 뭘 해봤는지는 시리즈 탭에 다 정리해뒀슈

0개의 댓글