커널패닉 (119.♡.59.225)
2025년 11월 2일 AM 02:20 · 수정됨(11. 03. 15:08)
GitHub에서 언리얼 프로젝트를 생성하면 주로 매가스캔과 같은 방대한 언리얼 에셋으로 인해 LFS 용량이 가득차기 마련입니다.
대안으로 NAS에 Perforce 서버를 구축해서 사용해 봤으나 Git과 구조가 달라 제대로 사용할 수 없었습니다.
게다가 Perforce 서버가 오프라인일 경우 p4 edit 명령이 작동하지 않아 읽기 전용으로 열린 파일을 단순히 구경만해야 하는 경우도 있었습니다.
따라서 이참에 NAS에 GitLab(이하 깃랩) 서버를 구축하는 방법을 정리할 겸 이 글을 작성해 봅니다.
Docker Hub 에서 이미지 다운로드하기
- 관리자 권한을 보유한 계정으로 NAS 홈페이지(DSM) 에 로그인합니다. (기본값은 admin 이지만 보안상 비활성화 되었을 수 있습니다)
- 바탕화면에 위치한 제어판 아이콘을 두번 눌러 실행한 후 "터미널 및 SNMP" 를 클릭하세요.
- 이미지 태그를 명시하지 않아도 될 경우, Container Manager 에서 이미지를 다운로드해도 무방합니다.
- Container Manager에서 진행할 경우 8항으로 이동하세요.
- "SSH 서비스 활성화" 체크박스를 체크합니다.
- PC에서 터미널 또는 명령 프롬프트를 실행합니다.
- 1항에서 로그인한 계정을 사용하여 SSH에 로그인합니다. (예:
ssh admin@192.168.0.100) sudo -i명령을 입력하고 현재 로그인한 계정의 암호를 입력하세요.docker pull gitlab/gitlab-ce:18.5.0-ce.0명령을사용해서 특정 태그의 이미지를 pull 합니다.
Docker 컨테이너 구성하기
- DSM 으로 돌아와서 Container Manager 내 이미지 탭에서 앞서 다운로드 받은 이미지를 "실행"합니다.
- 컨테이너 이름의 경우 gitlab 으로 입력하고 "자동 재시작 활성화" 체크박스를 체크합니다.
- 컨테이너 포트 설정을 진행합니다. 자세한 사항은 아래 표를 참고해 주세요.로컬 포트컨테이너 포트프로토콜3002222TCP304434433008080
- 컨테이너의 볼륨 마운트를 진행합니다. 자세한 사항은 아래 표를 참고해 주세요파일/폴더마운트 경로/docker/gitlab/config/etc/gitlab/docker/gitlab/data/var/opt/gitlab/docker/gitlab/log/var/log/gitlab
- 컨테이너 생성이 완료되면 다시 SSH에서 작업합니다.
docker exec -it gitlab /bin/bash명령을 실행합니다.- 컨테이너 내 쉘에서
cat /etc/gitlab/initial_root_password명령을 통해 초기 root 비밀번호를 확인합니다. - docker ps -a 명령을 실행 후 STATUS 가 healthy 로 표기되면 브라우저에서 192.168.0.100:30080 으로 접속합니다.
만약 외부에서 사용하고 싶으실 경우 Synology DDNS 등을 사용하여 외부에서 접속할 수 있습니다. 또한 이 경우 공유기의 포트 포워딩 설정을 변경해야 합니다. (30080, 443 등의 포트를 외부에서 접근 가능하도록 허용)
단, 이 강좌에서는 Synology DDNS 및 공유기 설정이 이미 완료되었다고 가정합니다.
HTTPS 인증서 적용 및 역방향 프록시 구성
- DSM 제어판에서 로그인 포털을 클릭한 후 고급 섹션으로 이동합니다.
- "역방향 프록시" 버튼을 눌러 프록시 규칙 편집기를 열고 아래와 같이 수정합니다.역방향 프록시 이름gitlab소스 프로토콜HTTPS소스 호스트 이름gitlab.example.synology.me소스 포트443HSTS 활성화예대상 프로토콜HTTP대상 호스트 이름localhost대상 포트30080
- 모든 설정을 적용한 후 보안을 클릭한 후 인증서 섹션으로 이동합니다.
- 새 Let's Encrypt 인증서를 추가합니다 (도메인 이름에는 소스 호스트 이름을 입력합니다)
- 설정 내 구성에서 gitlab.example.synology.me 필드 옆 드롭다운에 전항에서 생성한 인증서를 지정합니다.
- 컨테이너 쉘 내에서
vi /etc/gitlab/gitlab.rb명령을 실행합니다. - external_url 을 다음과 같이 변경합니다. https://gitlab.example.synology.me
gitlab-ctl reconfigure명령을 실행하여 설정을 반영합니다.
추후 깃랩 서버 업데이트가 필요할 경우 Docker 이미지를 수동으로 교체하시거나, 자료실에 업로드한 업그레이드 자동화 스크립트를 활용해 주세요.
댓글 (5)
-
닥닥스훈트
25.11.03 · 58.♡.15.54
-
왜왜나를불렀지
→ 닥스훈트
25.11.03 · 203.♡.43.193
'docker 에 jellyfin 설치' 추천 합니다.
위 키워드로 나온대로 따라하면 딸깍 가능 합니다. -
닥닥스훈트
→ 왜나를불렀지
25.11.03 · 118.♡.84.32
감사합니다..ㅎ
도커사용법은 수박 겉핥기식만 알지만 시도 해보겠습니다. 남은하루도 알차게 보내세용~~^^ -
얼얼레와이파이
05.26 · 223.♡.117.137
gitlab이 메모리를 좀 많이 먹는것으로 아는데, 시놀로지에 고급모델이 아니면 메모리를 많이 꼽을 수 없었을텐데, 메모리는 얼마나 사용하나요?
-
커커널패닉
→ 얼레와이파이 작성자
05.26 · 119.♡.59.225
메모리 16GB (8GBx2) 사용중입니다. `DS218+` 랑 `DS918+` 전부 잘 작동하더라고요.
```bash
[DSM] hm@sweethome-nas:~$ free -h
total used free shared buff/cache available
Mem: 15Gi 6.5Gi 1.3Gi 300Mi 7.7Gi 8.4Gi
Swap: 11Gi 117Mi 11Gi
```
댓글을 작성하려면 이 필요합니다.
무슨말인지 이해를 못하겠...ㅠㅠ
가족 폰사진 백업, WebDev로 소장용 영화 시청, 아주 가끔 토렌트다운만 사용중이라는...ㅠㅠ
개발자가 아니라면 모르는게 정상이겠죠? ㅎㅎ
{emo:onion-024.gif:150}