본문 바로가기

라즈베리파이

OMV5(OpenMediaVault 5)에 토렌트 클라이언트(transmission) 설치하기

집에서 운영하는 NAS 서버에 필요한 기능은 무었일까? 파일 공유기능, 미디어 서버 기능, 원격 접속 기능 그리고 토렌트 다운로드 기능 등이 대표적일 것이다. 

 

오늘은 OMV5를 토랜트 클라이언트로 활용하기 위한 transmission 설치 방법에 대해 설명하도록 하겠다. transmission은 PC의 utorrent와 거의 유사하다고 생각하면 된다. 단지, 웹으로 접속하여 토랜트 클라이언트를 제어한다는 점이 약간의 차이랄까?

 

1. transmission 설치 준비

OMV5에서는 transmission 플러그인을 따로 제공하고 있지 않으므로, docker 기반 설치가 필요하다.

기존 설치방법과 마찬기지로 docker 컨테이너 설치를 위해서는 우선 transmission 이미지를 다운로드 해 주어야 한다. OMV5에서 Portainer 웹으로 접속한 후 아래 "Images" 메뉴를 선택한다. 그리고 이미지 이름에 "linuxserver/transmission"을 입력하고 "Pull the image" 버튼을 누르면 아래 그림처럼 최신 버전의 transmission 이미지가 다운로드 된다.

 

transmission 설치를 위해서는 "/config", "/watch", "/downloads" 볼륨 설정이 필요한데, 해당 볼륨들을 외장 HDD에 설정하기 위해 공유폴더를 추가하도록 한다.

OMV5의 "SMB/CIFS" 메뉴에서 아래처럼 "torrent" 공유폴더를 추가하도록 한다.

 

아래 그림은 새로운 공유폴더가 추가된 모습이다.

 

이제 윈도우즈 탐색기로 새로 추가된 공유폴더(여기서는 torrent)로 접속하여 "config", "watch", "downloads" 폴더를 추가해 주도록 한다.

 

2. docker 환경 설정

이제 설치 준비가 완료되었다. 왼쪽의 "Containers" 메뉴를 클릭하여 컨테이너 리스트가 나오면 "Add container" 버튼을 클릭한다.

 

컨테이너의 이름, 이미지, 포워딩할 포트 정보를 아래 그림처럼 입력한다.

Name : transmission
Image : linuxserver/transmission.latest
Port
  - 9091 -> 9091 (TCP)      # transmission 웹관리 접속 포트
  - 51413 -> 51413 (TCP)    # 토랜트 통신 포트(TCP)
  - 51413 -> 51413 (UDP)    # 토랜트 통신 포트(UDP)

 

브라우저를 아래로 스크롤하여 "Volumes" 탭을 클릭하고, "map addional volume" 버튼을 눌러 아래처럼 추가 볼륨을 입력한다. 아래 host 경로는 위에서 공유폴더에 만들어 놓은 폴더에 대한 절대 경로이다.

참고로, 

- "/config" 폴더 : 환경설정 정보 저장

- "/watch" 폴더 : .torrent 파일을 업로드 여부 감시, 새로운 .torrent 파일 생성시 자동으로 토렌트 다운로드 수행

- "/downloads" 폴더 : 토렌트 파일이 다운로드 받아지는 위치

 

이제 "Env" 탭으로 이동, PUID와 PGID 그리고 TZ 값을 입력한다. 지난번 포스팅에서도 언급했지만 PUID 65534는 nobody 권한이며, PGID 100은 users 그룹이다.

 

"Restart policy"를 "Always"로 선택하고 "Deploy the container" 버튼을 클릭한다.

 

이제 transmission의 컨테이너 생성이 완료 되었다.

 

3. transmission 관리 페이지 접속

이제, 라즈베리파이 IP에 9091 포트로 접속하면 아래와 같이 transmission 관리 페이지로 접속할 수 있다. 여기서 업로드 아이콘을 클릭하여 .torrent 파일을 업로드 하거나, 마그넷 URL을 입력하면 토렌트 파일을 알아서 다운로드 해 준다.

 

또는, 아래처럼 라즈베리파이 공유 폴더로 접속, "\torrent\watch" 폴더에 .torrent 파일을 복사해 놓기만 해도 토렌트 파일 다운로드가 수행된다.

 

아래 그림은 공유폴더에 .torrent 파일 업로드 후, 토렌트 관리 페이지 접속시 해당 토렌트 파일을 알아서 다운로드 하고 있는 화면이다.

 

또한, 토렌트 파일 다운로드가 완료되면, downloads 폴더 아래 complete 폴더에 다운로드된 파일을 찾을 수 있다.

 

4. transmission 설정정보 수정

앞에서 설정한 그대로도 transmission을 충분히 운영할 수 있다. 그러나, 몇몇가지 환경설정을 변경함으로서 transmission을 좀더 편리하게 사용할 수 있다.

transmission의 설정정보는 /config/settings.json 파일에 저장되어 있다. 설정 정보 변경을 원한다면, transmission 컨테이너의 콘솔로 접속해, 위 settings.json 파일을 수정해 주면 된다.

 

4.1 watch 폴더에 복사된 .torrent 파일 자동으로 지우기

watch 폴더에 .torrent 파일을 복사하여 토렌트 파일을 자동으로 다운로드 받는 기능은 매우 유용하다. 그러나, .torrent 파일을 지속적으로 복사해 놓다 보면 지저분할 뿐만 아니라 어떤 파일을 최근에 추가했는지 헤깔릴 수 있다.

아래 옵션은 .torrent 복사후 다운로드가 시작되면, 알아서 해당 .torrent 파일을 삭제해 주는 기능이다.

디폴트 false값이나 아래처럼 true로 변경해 주도록 한다.

{
    ... 중략 ...
    "trash-original-torrent-files": true,
    ... 중략 ...
}

 

4.2 transmission 접속시 로그인하기

디폴트는 transmission 관리 페이지 접속시 로그인 없이 바로 접속된다. 이는 관리자 이외에 다른 사람들도 접속할 수 있다는 것을 의미하며 보안적으로 매우 위험하다. 따라서 아래처럼 "rpc-authentication-required"를 true로 변경해 주고, 로그인 ID 및 비밀번호를 설정해 준다.

 

{
    ... 중략 ...
    "rpc-authentication-required": true,
    "rpc-username": "<로그인 ID>",
    "rpc-password": "<로그인 비밀번호>",
    ... 중략 ...
}

 

4.3 설정변경 적용하기

설정 변경이 완료 되었다면 다시 컨테이너 리스트로 와서, "transmission" 컨테이너의 체크박스를 클릭하고, "Restart" 버튼을 클릭해 주도록 한다.

 

이제부터는 아래처럼 로그인 ID 및 비밀번호를 입력해아 transmission 접속이 가능하도록 수정되었다.