haugene/transmission-openvpn 설치
본 장에서는 ExpressVPN을 이용한 방법으로 설명을 합니다.
먼저 볼륨을 Mapping할 디렉트로를 생성합니다. 이 디렉토리로 Torrent 파일을 올리고, 다운로드 경로가 설정 됩니다.
제 경우 "/volume2/Transmission" 이라는 디렉토리를 생성하고, 하위에 "config"와 "data" 디렉토리를 생성 합니다.
mkdir /volume2/Transmission
mkdir /volume2/Transmission/config
mkdir /volume2/Transmission/data
아래와 같이 "docker-compose.yml" 파일을 작성합니다.
version: '3.3'
services:
transmission-openvpn:
restart: always
cap_add:
- NET_ADMIN
volumes:
- '/volume2/Transmission/data/:/data'
- '/volume2/Transmission/config/:/config'
environment:
- OPENVPN_PROVIDER=EXPRESSVPN
- OPENVPN_USERNAME=[설명1]
- OPENVPN_PASSWORD=[설명1]
- OPENVPN_CONFIG=my_expressvpn_south_korea_-_2_udp
- OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 #킬스위치 기능입니다.
- LOCAL_NETWORK=192.168.1.0/24 #사용하는 네트워크 대역대로 변경 필요
- CREATE_TUN_DEVICE=true
- TZ=Asia/Seoul
- HEALTH_CHECK_HOST=google.com
- TRANSMISSION_WEB_UI=flood-for-transmission
- PUID=1026 #ssh에서 'id 계정명'으로 맞는 값을 찾아 입력
- PGID=100 #ssh에서 'id 계정명'으로 맞는 값을 찾아 입력
- TRANSMISSION_WATCH_DIR_ENABLED=true
- TRANSMISSION_WATCH_DIR=/data/torrentfile
# 보안 옵션 입니다.
#- TRANSMISSION_RPC_AUTHENTICATION_REQUIRED=true
#- TRANSMISSION_RPC_USERNAME=webgui_id
#- TRANSMISSION_RPC_PASSWORD=webgui_pw
#- TRANSMISSION_RPC_HOST_WHITELIST="127.0.0.1,192.168.1.*"
logging:
driver: json-file
options:
max-size: 10m
ports:
- '9091:9091'
image: haugene/transmission-openvpn
[설명1] ExpressVPN 계정코드
OPENVPN_USERNAME : ExpressVPN 사용자명
OPENVPN_PASSWORD : ExpressVPN 비밀번호
이 값은 ExpressVPN 아래와 같이 확인 할 수 있습니다.
[설명2] LOCAL_NETWORK : 사용하시는 네트워크 대역대를 입력 합니다. 여러개 일 경우 "," 여러개를 지정할 수 있습니다.
예제 : "192.168.1.0/24" (CIDR 값을 사용해야 합니다.)
[설명3] TRANSMISSION_RPC_HOST_WHITELIST : Transmission 접속 시 보안을 위해 허용할 IP 대역대 입니다.
여러개 일 경우 "," 여러개를 지정할 수 있으며, 와일드카드인 "*"를 사용할 수 있습니다.
"127.0.0.1,192.168.1.*,172.17.0.*"
제 경우 "127.0,0,1"는 localhost, "192.168.1.*"는 제가 사용하는 로컬 IP 대역대, "172.17.0.*"는 Docker Bridge 네트워크가 사용하는IP 대역대를 입력하였습니다.
Docker를 실행 합니다.
docker-compose up -d
설치를 마치면 "/volume1/Transmission/data" 디렉토리가 아래와 같이 구성 됐음을 확인 할 수 있습니다.
"completed" : 다운로드가 끝난 파일이 옮겨지는 디렉토리 입니다.
"incompleted" : 다운로드가 진행 중인 파일이 있는 디렉토리 입니다.
"torrentfile" : Transmission이 Watch 중인 디렉토리로 ".torrent" 파일을 이 디렉토리로 위치 시 바로 다운로드가 시작 됩니다.
다운로드 후 목록에서 자동 삭제하고 텔레그램 봇으로 다운로드 완료 상태를 안내하기 위해 작성한 스크립트로 다른장에서 별도 설명 드리겠습니다.
설치가 완료되면 "IP:9091"로 접속 합니다.
보안 옵션 미적용시 관리 페이지의 외부 노출이 걱정될 경우 Nginx Proxy Manager의 Proxy Host를 통해
"Access List"에 인증정보를 넣어 접속시에 2차 인증 절차를 추가하실 수 있습니다.