[ubuntu server 22.04. 3 LTS (Jammy Jellyfish)] 텔레그램 봇으로 트랜스미션 작동시키기
라즈베리 파이일 경우는 이전 글을 참고 하세요.
[transmission-telegram] 트랜스미션 + 텔레그램을 이용한 편리한 방법 (feat. 두번째 텔레그램봇 만들기, pi4)
오늘은 구형노트북에 설치된 ubuntu 22.04.3 버전에 설치해 보겠습니다.
** AMD64 or x86_64 : 도커 이미지를 보면, AMD64 또는 x86_64 또는 ARM64 라는 표시가 있습니다.
이건, CPU 타입이라고 보면 됩니다.
라즈베리파이는 ARM64 를,
인텔CPU는 AMD64 또는 x86_64 를 선택하면 됩니다. (대부분 AMD64 라고 표시 합니다.)
지난번 rpi4 에는 도커 이미지를 ARM64 용으로 구해서 쉽게 설치 했었는데, 이번엔 매우 어렵네요.
기본 설치가 잘 안되었던 이유 추측; (https://github.com/pyed/transmission-telegram)
- 현재 깔려있는 tsharp 한방팩과 (https://hub.docker.com/r/banyazavi/tsharp) 충돌
- 한방팩의 트랜스미션 버전(3.0) 이 낮아서 그런건지 확실하지 않습니다.
새로 설치한 버전
해결 방법,
- 도커 컴포즈 또는 stack (스택) 으로 설치 했습니다.
(도커 스택이나 컴포즈는 두개 이상의 컨테이너를 설치할때 사용됩니다. 단일 컨테이너일때는 docker run 으로 하면 됩니다.)
version: '2.4'
services:
transmission:
container_name: transmission
image: linuxserver/transmission
ports:
- 5007:9091
restart: always
volumes:
- /vo2/docker/transmission:/config
- /vo2/tv:/downloads
telegram-transmission-bot:
container_name: tel-trs-bot
restart: always
image: kevinhalpin/transmission-telegram:latest
command: '-token=6382****20:AAE_oRMmy1l********eN57byPwpbFA -master=(내유저네임) -url=http://192.168.219.150:9091/transmission/rpc/'
결론
- 지난번 rpi4 에 설치할때는, tsharp 에 설치된 transmission 을 공유해서 사용했었습니다.
- 이번 설치는 transmission 를 또 설치했습니다. (이미지 사이즈는 76MB 정도 하네요.)
- 지난번 만들었던, telegram_bot 을 공유할까 생각도 했었는데, 시도는 안해봤습니다. (자꾸 봇이 늘어 나네요. 그러면 헷갈릴텐데....)
- 잘 작동합니다.
추가 (2023. 10. 15)
- 두번째 방법(도커 컴포즈를 이용해서, '텔레봇+트랜스미션') 이 왜 작동하는지 원인을 밝혔습니다.
- 첫번째 방법('텔레봇'이 기존 tsharp 에서 사용중인 '트랜스미션'을 공유) 이 왜 작동 안하는지 원인을 밝혔습니다.
- 원인은 docker network 설정입니다.
- 도커 기본 네트워크는 bridge 입니다. (기본 브릿지는 내부ip 로만 통신이 됩니다.)
- 따라서, 새로운 bridge 네트워크 (test1)를 추가 했습니다. (브릿지를 새로 만들면, 내부ip + 설정ip + docker name 으로 통신이 됩니다.)
ex.) 172.17.0.10 ; 내부ip
198.162.211.3:8080 ; 설정ip
http://tsharp:8080 ; 도커 이름
- 결국, 브릿지를 새로 만들어, 연결하려는 도커에 추가 했습니다. 그래서 '텔레그램 봇'이 기존에 설치된 transmission 를 공유해서 사용 할 수 있게 되었습니다.
sudo docker run -d --name trans-tel kevinhalpin/transmission-telegram:latest -token=6382051720:AAE_o**********PwpbFA -master=h*****r -url=http://tsharp:9091/transmission/rpc/ -username='tsharp' -password='banyazavi'