Synology에 Gogs 설치하기

# 깃 저장소 관리 서비스

Git repositories 를 관리하는 서비스는 여러가지가 있는데 Github는 프라이빗 저장소에 제한이 있다. Gitlab은 시놀로지에 설치는 되는데 Docker를 지원하는 고가의 기종에서만 가능하다. 도커를 지원하는 시놀로지 모델은 다음과 같다.

  • 19 시리즈 : RS1619xs+, RS1219+, DS1819+
  • 18 시리즈 : FS1018, RS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+
  • 17 시리즈 : FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+
  • 16 시리즈 : RS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+, DS716+II, DS216+, DS216+II
  • 15 시리즈 : RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+
  • 14 시리즈 : RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+
  • 13 시리즈 : RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+
  • 12 시리즈 : RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS712+, DS412+
  • 11 시리즈 : RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, DS3611xs, DS2411+, DS1511+, DS411+, DS411+II
  • 10 시리즈 : RS810RP+, RS810+, DS1010+, DS710+

# Gogs 선정

어쨌든 프라이빗 소스를 서비스회사에 맡기고 싶진 않아 개인서버에 git을 설치하고 웹에서 매니징을 할수 있게 해 주는 서비스를 찾아보니 Gogs와 Gogs에서 파생되어 나온 Gitea가 있다. 두 서비스의 차이점은 Slant에서 비교했는데 Gogs는 시놀로지 서버에 설치되므로 Gogs를 사용하기로 했다.

Benchmark of GitBucket / Gogs / Gitea / GitLab on Raspberry Pi 3 를 보면 속도도 다른 서비스들에 비해 충분히 빠른 것 같다.

# Gogs 설치

# git server 설치

시놀로지에서 git을 사용하기 위해 git server를 설치한다. 유저는 생성하지 않아도 된다.

# gogs 설치하기

https://kimcblog.com/2018/08/28/%EC%8B%9C%EB%86%80%EB%A1%9C%EC%A7%80synology-nas%EC%97%90-github%EC%B2%98%EB%9F%BC-%EC%9A%B4%EC%9A%A9%ED%95%98%EA%B8%B0-feat-gogs-1-2/

https://kimcblog.com/2018/08/28/%ec%8b%9c%eb%86%80%eb%a1%9c%ec%a7%80synology-nas%ec%97%90-github%ec%b2%98%eb%9f%bc-%ec%9a%b4%ec%9a%a9%ed%95%98%ea%b8%b0-feat-gogs-2-2/

# 패키지 다운로드

Gogs 홈페이지에서 바이너리를 다운받아 설치한다.

  • gogs_0.11.86_linux_armv5를 풀어서 1_create_package 안에다 넣는다.

  • 인증서에 git.주소 추가후, 역방향프록시를 설정한다.

  • 시놀로지에서 데몬 사용자 계정은 무조건 root 이다.

# 파일업로드 제한 풀기

파일업로드 크기에 제한이 걸려있으니 다음 포스팅을 참고해 풀어준다. 참고로 시놀로지에서 app.ini 파일의 경로는 /volumeX/@appstore/Gogs/gogs/custom/conf/app.ini 이다.

# Windows에서의 git 테스트를 위한 bash 설치

  • 프로그램 및 기능 -> windows 기능 켜기/끄기 -> Linux용 Windows 하위 시스템 설치 -> window store에서 win10용 ubuntu 설치.

  • 각 폴더에서 바로 실행하기 위해 wsltty 를 설치.

# 설치후 알게된 문제

  • Gogs는 시놀로지에서 root 계정으로밖에 설치할수 없다

  • 시놀로지는 DSM 6.0이후로 root의 ssh접속을 금한다

  • Gogs의 ssh 주소는 루트를 기준으로 만들어지는데 시놀로지에서 유저계정을 만들어서 ssh에 접속해도 결국 루트에 액세스할수 없어 ssh를 사용할 수가 없다. 할수없이 https 주소를 써야한다.

  • Gogs의 remote주소를 https://도메인:포트/git주소 로 설정한뒤 로그인하는 방식으로는 인증에 실패한다. https://계정:패스워드@도메인:포트/git주소 로 설정하면 인증을 통과할 수 있다. 이때 계정은 @마크를 쓰는 이메일이 아닌 평문으로 해야 한다.

Built with Hugo
Theme Stack designed by Jimmy