메인 항목으로

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 아래와 같이 확인 할 수 있습니다.

ex_vpn1.png

ex_vpn2.png

ex_vpn3.png

[설명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"로 접속 합니다.

trans_gui.png

보안 옵션 미적용시 관리 페이지의 외부 노출이 걱정될 경우 Nginx Proxy Manager의 Proxy Host를 통해

"Access List"에 인증정보를 넣어 접속시에 2차 인증 절차를 추가하실 수 있습니다.

wetty_auth.png