홈서버를 운영하며 Docker를 활용해 다양한 서비스를 구축하는 일은 이제 보편적인 일이 되었습니다. 이번 글에서는 여러 토렌트 클라이언트 중에서도 많은 분이 애용하시는 Transmission을 Docker 환경에 설치하는 방법을 안내해 드리고자 합니다.
Transmission을 사용하는 이유#
Transmission은 다른 토렌트 클라이언트에 비해 여러 가지 장점을 가지고 있습니다.
가볍고 빠른 속도
Transmission은 시스템 자원을 적게 소모하여 저사양의 홈서버나 NAS(Network Attached Storage)에서도 부담 없이 운영할 수 있습니다. 불필요한 기능 없이 핵심적인 기능에 집중하여 가볍고 빠른 성능을 자랑합니다.
직관적인 웹 인터페이스
별도의 클라이언트 프로그램 설치 없이 웹 브라우저만으로 모든 기능을 제어할 수 있습니다. 스마트폰이나 태블릿 등 어떤 기기에서든 쉽게 접속하여 토렌트 파일을 추가하고 관리할 수 있어 편리합니다.
뛰어난 안정성
오랜 기간 개발되어 온 만큼 안정성이 매우 뛰어납니다. 예기치 않은 오류나 시스템 중단 없이 꾸준하게 파일을 주고받을 수 있습니다.
이러한 장점들 덕분에 Transmission은 홈서버 환경에서 가장 선호되는 토렌트 클라이언트 중 하나로 자리 잡았습니다.
설치 전 준비 사항#
본격적인 설치에 앞서, 다음 사항이 준비되어 있어야 합니다.
Docker가 설치된 환경
여기서는 Docker가 이미 시스템에 설치되어 있다는 것을 전제로 진행합니다. Docker 설치 방법은 아래 포스트를 확인해 주세요.
데이터를 저장할 디렉터리 생성
다운로드한 파일과 설정 파일을 저장할 디렉터리를 미리 만들어 두어야 합니다. 이는 컨테이너가 삭제되더라도 데이터를 보존하기 위함입니다. 터미널에서 다음 명령어를 사용하여 디렉터리를 생성하는 것을 권장합니다.
mkdir -p /path/to/your/storage/transmission/config
mkdir -p /path/to/your/storage/transmission/downloads
mkdir -p /path/to/your/storage/transmission/watch
/path/to/your/storage/
부분은 실제 데이터를 저장하고자 하는 경로로 변경해 주십시오. (예:/home/user/docker/transmission
)- config: Transmission의 설정 파일이 저장될 공간입니다.
- downloads: 다운로드가 완료된 파일이 저장될 공간입니다.
- watch: 이 디렉터리에 토렌트 파일을 넣어두면 Transmission이 자동으로 다운로드를 시작합니다.
Docker를 이용한 Transmission 설치#
Docker를 이용하여 Transmission을 설치하는 방법은 docker run
명령어를 직접 사용하는 방법과 docker-compose
를 이용하는 방법이 있습니다. 여기서는 두 가지 방법을 모두 안내해 드리겠습니다.
docker run
명령어를 이용한 설치#
터미널을 열고 다음 명령어를 입력하여 Transmission 컨테이너를 생성하고 실행합니다.
docker run --name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Seoul \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /path/to/your/storage/transmission/config:/config \
-v /path/to/your/storage/transmission/downloads:/downloads \
-v /path/to/your/storage/transmission/watch:/watch \
--restart unless-stopped \
linuxserver/transmission
--name=transmission
: 컨테이너의 이름을transmission
으로 지정합니다.-e PUID=1000
/-e PGID=1000
: 컨테이너 내에서 실행되는 프로세스의 사용자 ID와 그룹 ID를 지정합니다.id
명령어를 터미널에 입력하여 현재 사용자의 UID와 GID 값을 확인하고 그에 맞게 수정해 주십시오. 이는 파일 권한 문제 발생을 예방합니다.-e TZ=Asia/Seoul
: 컨테이너의 시간대를 서울로 설정합니다.-p 9091:9091
: 웹 인터페이스 접속을 위한 포트입니다. 외부 포트(왼쪽)와 내부 포트(오른쪽)를 연결합니다.-p 51413:51413
/-p 51413:51413/udp
: 토렌트 데이터 교환을 위한 포트입니다. TCP와 UDP 프로토콜을 모두 열어줍니다.-v /path/to/your/storage/...
: 앞서 생성한 호스트의 디렉터리와 컨테이너 내부의 디렉터리를 연결(마운트)합니다.--restart unless-stopped
: 시스템이 재시작되더라도 사용자가 직접 정지시키지 않는 한 컨테이너가 자동으로 다시 시작되도록 설정합니다.linuxserver/transmission
: 설치할 Docker 이미지의 이름입니다.linuxserver.io
그룹에서 제공하는 이미지는 안정성과 편의성이 높아 많은 사용자가 선호합니다.
docker-compose
를 이용한 설치#
docker-compose
는 여러 컨테이너를 정의하고 실행하기 위한 도구로, 설정 파일을 통해 관리하므로 더 편리합니다.
원하는 위치에 docker-compose.yml
파일을 생성하고 아래 내용을 입력합니다.
version: "2.1"
services:
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Seoul
volumes:
- /path/to/your/storage/transmission/config:/config
- /path/to/your/storage/transmission/downloads:/downloads
- /path/to/your/storage/transmission/watch:/watch
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: unless-stopped
docker-compose.yml
파일이 저장된 폴더에서 다음 명령어를 실행합니다.
docker compose up -d
-d
옵션은 컨테이너를 백그라운드에서 실행하도록 합니다.
Transmission 접속 및 초기 설정#
컨테이너 실행이 완료되었다면 이제 웹 브라우저를 통해 Transmission에 접속할 수 있습니다.
- 웹 브라우저 주소창에
http://[서버 IP 주소]:9091
을 입력합니다. - 최초 접속 시 인증을 요구하는 창이 나타날 수 있습니다.
linuxserver/transmission
이미지의 경우, 초기 사용자 이름과 비밀번호는 대부분transmission
입니다. - 접속 후, 화면 하단의 설정(스패너 모양 아이콘) 버튼을 클릭하여 몇 가지 중요한 설정을 변경하는 것이 좋습니다.
- Peers 탭:
Peer listening port
가51413
으로 설정되어 있는지 확인하고,Use port forwarding from my router
옵션을 활성화하는 것이 좋습니다. 공유기를 사용하신다면 해당 포트에 대한 포트 포워딩 설정을 해주어야 원활한 속도를 확보할 수 있습니다. - RPC 탭: 보안을 위해
Authentication required
에 체크하고,Username
과Password
를 자신만의 것으로 변경하십시오.
마무리#
지금까지 Docker를 이용하여 Transmission 토렌트 클라이언트를 설치하고 기본적인 설정을 진행하는 방법에 대해 알아보았습니다. Docker를 활용하면 이처럼 복잡한 과정 없이 몇 가지 명령어만으로 강력한 서비스를 손쉽게 구축할 수 있습니다.
이 글이 여러분의 성공적인 홈서버 운영에 작은 보탬이 되기를 바랍니다. 궁금한 점이 있으시면 언제든지 질문해 주십시오. 제가 아는 범위 내에서 성심껏 답변해 드리겠습니다.
참조
- Docker Hub - linuxserver/transmission: https://hub.docker.com/r/linuxserver/transmission
- Transmission 공식 홈페이지: https://transmissionbt.com/