본문 바로가기

IT 취미

시놀로지에서 docker 기반 http-svn 구축하기.

아래 링크에 marvambass/subversion 기반으로 http를 이용한 svn 서버를 구축하는 방법이 설명되어 있음.

위 방법의 문제점

  • Nas가 재시작되어 container를 다시 띄우게 되는 경우 컨테이너 안의 apache already pid running 에러 메시지와 함께 정상적으로 구동되지 않음.

위 문제점으로 별도의 docker image를 찾아서 http 기반 svn 서비스를 올리기로 함.

 

Command Line을 통한 방법

  • docker pull elleflorio/svn-server
  • start_svn.sh 파일을 생성하여 아래 내용 삽입. 아래 내용 중 volume 경로 및 포트 정보는 각자 상황에 맞게 수정하여 준다.
#!/bin/sh
SVN_ROOT_PATH=/volume1/docker/svn
REPO_PATH="$SVN_ROOT_PATH"/repos

mkdir -p "$REPO_PATH"

docker run \
-d \
-v "$REPO_PATH":/home/svn \
-p 40080:80 \
-p 3690:3690 \
--name svn-server elleflorio/svn-server
  • chmod +x start_svn.ssh
  • ./start_svn.sh

Docker UI를 통한 방법

  • Docker -> 이미지 -> 추가 버튼을 통하여 image를 추가한다.

이미지 추가

  • Docker -> 이미지 -> elleflorio/svn-server:latest 선택 -> 실행 버튼 클릭 또는 이미지 더블클릭  후 고급설정으로 진입한다.

고급설정 화면

  • 위 고급설정에서 볼륨과 포트를 설정해 주어야 한다. (각자 환경에 맞게 설정해 주도록 한다)
    • 포트 설정의 경우 로컬 포트 값의 설정이 필요하다.
      • 컨테이너의 80 포트에 해당하는 로컬 포트는 반드시 설정하자.
      • svn 프로토콜을 사용하지 않을 경우 3690 포트도 삭제하여 준다.
  • 고급설정 완료 후 다음 -> 적용 버튼을 클릭하여 컨테이너를 실행한다.

 

실행환경 설정

  • 브라우저를 통해 http://nas-ip:8880/svnadmin (http://NAS IP:로컬 포트 값)으로 접속한다.
  • Settings 메뉴로 접속하여 이미지에 있는 값을 입력한다.

svnadmin을 통한 svn 설정 화면

  • 입력 후 맨 하단의 "Save Configuration" 버튼을 클릭하여 준다. 설정값 입력 시 반드시 Test 버튼을 통하여 테스트를 해보도록 한다.
  • 기타 Group / User 설정은 그리 힘들지 않으므로 생략.
  • 리파지토리 접속 URL : http[s]://svn서버주소/svn/리파지토리명/