라즈베리파이로 NAS 만들기16 – OMV6에 토렌트 도구인 Transmission 설치 후기

라즈베리파이로 NAS 만들기16 – OMV6에 토렌트 도구인 Transmission 설치 후기

NAS를 사용하다 보면, 토렌트 형태로 파일을 다운로드할 일이 꽤 있다. 때로는 Torrent Seed를 이용하기도 하고, 마그넷 주소 같은 URL 타입의 정보를 이용하여 파이를 다운로드하게 된다. 시놀로지 NAS의 경우에는 자체적으로 Download station이라는 패키지를 기본적으로 제공하고 있고, 이 download station이 토렌트 시드를 이용하거나, URL 형태의 마그넷 정보를 이용하여 큰 파일을 다운로드할 수 있을 뿐 아니라, 유튜브 동영상도 이 패키지로 다운로드할 수 있기에, 별도로 오픈소스 토렌트 서버 프로그램을 설치하지 않아도 거의 불편함이 없다.

그러나 OMV6에서는 downloader라는 플러그인이 있고, 유튜브 동영상 등의 다운로드에 사용될 수 있기는 하지만, 다운로드 받을 파일 이름을 일일이 확장자까지 정확히 기재해야 하는 등 사용이 복잡하고, 토렌트 파일의 다운로드에는 적합하지 않아 대개 별도의 오픈소스 토렌트 프로그램을 추가로 설치하여 사용하는 것이 일반적인 것으로 알려져 있으며, 그러한 토렌트 서버용 프로그램으로는 transmission이 가장 보편적으로 사용되는 것으로 알고 있다.

이번 글에서는 OMV6 (Openmediavault)가 설치된 라즈베리 파이에 도커 이미지를 이용하여, transmission을 설치하는 과정을 소개한다.

먼저 OMV에서 Portainer에 로그인한다.

참고로 OMV에 Docker 및 Portainer를 설치하는 과정에 대한 내용이 필요하면 다음을 참조한다.

https://blog.naver.com/mythee1/223081516290

Portainer에서 “Live Connect”를 눌러 Container 메뉴에 진입한다. (또는 Container 메뉴를 그냥 눌러도 됨)

단, 이 과정에서 유의할 부분이 있다. “Connect”옆부분의 연필 모양 편집 아이콘을 누르면 접속 IP 주소를 입력하는 곳이 있는데, 이것이 올바르게 지정되어 있어야 한다.

다음 Container 메뉴에서 “Add container” 버튼을 이용하여 Container 생성 화면에 진입한다.

다음과 같은 Container 생성 화면에 진입하면, Name 란에 자신이 원하는 이름을 넣어주고, image 부분에는 Dockerhub에서 불러올 transmission 프로그램 이미지 이름을 “linuxserver/transmission:latest”라고 기재하면 된다. 그리고 아래 부분에 있는 “Deploy…”를 실행해 준다.

그러면 다음과 같이 port 번호가 부여되지 않은 채, transmission Container가 생성되는데, 다시 transmission container의 이름을 클릭해서

다음과 같은 상세 메뉴로 들어가, 다시 편집 버튼으로 Container 설정 편집 화면으로 진입한다.

설정 편집 화면에서 다음과 같은 port 지정 부분이 나오면, 여기에 다음과 같이 port를 지정해 준다.

만일 포트 지정 칸이 부족하면, 다음 화면 부분에 있는 “+publish a new …” 부분을 클릭하면 한 칸씩 추가된다. 다음 포트 지정 시 51413은 각기 tcp와 udp로 반복해서 지정해 준다.

이 부분에서 나는 좀 헤맸었는데, 나중에 보이 51413포트를 각기 TCP와 UDP로 다르게 설정해야 하는데, 실수로 TCP로 반복 설정하는 바람에 에러가 나곤했었다.

그리고, 이 화면의 아랫부분에 위치한 Advanced setting으로 이동해서, Volumes 탭을 선택하여, transmission 파일들이 저장할 폴더의 위치를 지정해 준다. 참고로, 나의 경우에는 루트 디렉터리에 있는 docker 폴더 밑에 transmission 이란 이름의 subfolder를 만들고, 다시 그 밑에 각각의 파일들이 저장되도록 지정했다. (이것은 각자가 자신의 선호대로 사용할 폴더를 지정해 주면 된다.)

그리고, Advanced setting의 Restart policy 탭으로 이동해서, 다음과 같이 “Always”를 선택해 준다.

이것까지 지정이 완료되었으면, 중간부에 있는 “Deploy…”명령을 클릭해서 설정한 내용을 반영해 준다.

이렇게 포트 설정과 Volumes 설정을 마치면, 일단 transmission 설정은 완료되며, 다음과 같이 Container list에 포트 번호가 표기된다.

이 포트 번호를 누르면 다음과 같이 Transmission 초기화면이 나오며,

+ 버튼을 누르면 다음처럼 토렌트 파일을 추가하거나, 마그넷 URL을 기재할 수 있는 화면이 나온다.

일단 torrent seed 파일을 하나 추가해 주면 다음과 같이 해당 토렌트 파일의 다운로드가 곧바로 시작된다.

진행상태를 보여주는 막대가 변하면서 다운로드 진행상태를 보여준다.

잠시 후, 다운로드가 완료되면, 위에서 등록해준 토렌트 씨드들은 100% 완료 상태로 남아있게 되며, 이를 수동으로 지워주면 된다.(물론 자동으로 지우는 방법도 있으며, 글 뒷부분에 소개해 두었다.) 개인적으로는 하나씩 수동으로 지우는 것을 선호하는 편이다.

다운로드 완료 후, 미리 지정해둔 다운로드 폴더로 이동해 보면 다음과 같이 complete 폴더와 미완성단게에서 임시로 보관하는 incomplete 폴더가 있다.

이 중, complete 폴더를 열어 내용을 살펴보면, torrent 파일이 잘 받아진 것을 확인할 수 있다.

이렇게 OMV6가 설치된 라즈베리 파이에서 Portainer를 이용하여 Dockerhub로부터 transmission 프로그램을 설치하여 토렌트 서버를 만들고, 이렇게 만들어진 토렌트 서버에 torrent seed 파일을 추가하여 다운로드하는 과정을 살펴보았다.

참고사항)

위의 상태로 사용하는 경우에도, 별다른 불편함은 없으리라 생각되지만, tansmission의 configuration 내용을 변경하면 몇 가지 추가 동작 형태를 변경할 수가 있다. 이 configuation은 위의 Advance Setting의 Volume 탑에서 지정해 준 폴더(본 예제의 경우는 /docker/transmission/config)에 위치하며, 파일 이름은 settings.json이다

1) Configuration 파일에 진입하는 법

이 Configuration 파일에 들어가 편집하려면, 먼저 container list에서 이름 옆 부분에 있는 Console 명령을 클릭하여,

다음과 같은 콘솔 모드에 가서, Connect를 해준다.

이후 나타나는 다음의 터미널 환경에서, 먼저 config 폴더로 이동한 후, 기본 편집기인 vi editor를 이용하여 configuation 파일에 진입하여 필요한 사항을 편집하면 된다. vi editor 입력 명령어는 “vi settings.json”이다.

필요한 수정이 끝나면, :wq를 눌러 저장과 동시에 vi editor를 마치면 된다.

2) Configuration 변경 대상

  • 주로 수정하는 변경사항의 하나는 파일이 저장되는 위치인데, 이들은 다음 2개 항목을 이용하여 변경할 수 있다.

토렌트 메뉴에 처음 접근했을 때 ID와 암호를 적용하려고 하는 경우에는 다음 3가지 사항을 변경하여 수정하면 된다. 아래 3개 항목 중 authentication 부분은 기존 false 대신 true로 변경해 주고, id와 Password를 각기 새로 기재해 주면 transmission 서비스를 웹 방식으로 접근했을 때 ID와 Password로 인증한 후에, 서비스를 이용하도록 변경된다.

또 한 가지의 변경할 만한 대상은 토렌트 다운로드가 완료된 항목이 자동적으로 목록에서 정리되어 삭제되도록 해주는 설정인데, 다음 항목을 true로 변경해 주면 된다.

모든 설정 변경이 완료되면 변경한 사항들을 반영시켜 주기 위해서, container를 restart 시켜 주어야 한다..