컨테이너매니저 > Surfhark(VPN) + Deluge(torrent) + /dev/net/tun
안녕하세요.
설정해두고 오랫동안 잊고 살았는데..
DSM 업데이트를 최근에 했더니 docker가 container manager로 바뀌어서.. 고생 좀 했습니다.
이리저리 날려먹기도 하고 했는데 portainer가 굳이 필요하지 않을 정도라 긍정적으로 변화한 듯 싶네요.
아래는 vpn을 요구하는 컨테이너에만 vpn을 적용하기 위해 작성된 YAML 입니다.
저는 VPN을 surfshark라는 비주류(..)를 사용하고 있고,
토렌트쪽도 deluge라는 비주류(..)를 사용하고 있습니다.
둘 다 다른 서비스를 이용하시더라도 구조보고 참고하시면 간단히 이용가능하실 것 같습니다.
DSM920+ 7.2
컨테이너매니저 > 프로젝트(docker compose) 에서 YAML로 작성했습니다.
services:
surfshark:
image: ilteoood/docker-surfshark:latest
container_name: vpn_surfshark
environment:
- SURFSHARK_USER=user provided by SurfShark #surfshark
- SURFSHARK_PASSWORD=pwd provided by SurfShark #surfshark
- SURFSHARK_COUNTRY=jp
- SURFSHARK_CITY=tok
- CONNECTION_TYPE=udp
#- LAN_NETWORK=192.168.0.0/24 #web uI
#- CREATE_TUN_DEVICE= #create tun for nas user
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
ports:
- 8600:8600/tcp # javinizer
- 8112:8112 # deluge-torrent
- 6881:6881 # deluge-torrent
- 58846:58846 # deluge-rpc
restart: unless-stopped
dns:
- 1.1.1.1
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: vpn_torrent_deluge
environment:
- PUID=100
- PGID=100
- TZ=Asia/Seoul
- UMASK=022
- DELUGE_LOGLEVEL=warn
- LANGUAGE=ko_KR.UTF-8
- LANG=ko_KR.UTF-8
volumes:
- /your/config/path:/config
- /your/torrent/incomplete/path:/downloads
- /your/torrent/watch/path:/downloads_watch
- /your/torrent/complete/path:/downloads_complete
depends_on:
- surfshark
network_mode: service:surfshark
restart: unless-stopped
javinizer:
image: jvlflame/javinizer:latest
container_name: vpn_javinizer
environment:
- PUID=100
- PGID=100
- TZ=Asia/Seoul
volumes:
- /your/javinizer/jsonsetting/path/jvSettings.json:/home/jvSettings.json
- /your/javinizer/video/path:/home/jav
network_mode: service:surfshark
depends_on:
- surfshark
restart: unless-stopped
@ surfshark
기본적으로 가까운 일본으로 설정했습니다.
LAN NETWORK > VPN에서 굳이 웹UI가 필요한가? 싶어서 안썼습니다. 초창기 열정이 넘칠땐 없던 옵션이거든요..
CREATE TUN DEVICE > 많이들 고생하시는 tun/tap 관련입니다. 저는 DSM에서 세팅해줘서 뺐습니다.
DNS는 용도가 용도인 만큼 8.8.8.8이나 1.1.1.1 추천드립니다.
@@ /dev/net/tun 관련
DSM > 제어판 > 작업스케줄러 > 생성 > 트리거된작업 > 사용자정의 스크립트
사용자 : root , 이벤트 : 부트업
#!/bin/sh -e
insmod /lib/modules/tun.ko
이렇게 하시고 재부팅 한번 하시면 간단합니다.
컨테이너에서 tun을 세팅하는 것보단 이게 낫지 않나 해서 이렇게 사용중입니다.
VPN 만료되면 갈아탈 수도 있으니..
@ deluge
토렌트 관련은 다들 잘 아실테지만 전 그냥 이뻐서 씁니다..
트랜스미션때도 그랬지만 저는 주로 텔레그램으로 파일/마그넷 보내면 자동으로 주입하고 (텔레그램 봇)
완료되면 태그에 따라 특정 폴더로 이동시키고 목록에서 삭제하게 해두었습니다. (스크립트)
제가 해야될 설명은 모두 다 드렸네요.
저는 개발 깔짝한 이후로 유통업에 종사중이라 딥한 질문은 고수분들께 도움을 요청하셔야 될 것 같습니다.
그나저나.. YAML 코드블럭이 작성할땐 이쁜데 등록하면 회색으로 나와서 서운하네요 ㅠ
좋은 주말 되세요.
cmt alert