[ubuntu server 22.04. 3 LTS (Jammy Jellyfish)] 텔레그램 봇으로 트랜스미션 작동시키기

yes 2023.10.10 17:44:11

[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) 이 낮아서 그런건지 확실하지 않습니다.

 

image.png

 

새로 설치한 버전

image.png

 

 

 

해결 방법,

- 도커 컴포즈 또는 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   ; 도커 이름

 

image.png

 

- 결국, 브릿지를 새로 만들어, 연결하려는 도커에 추가 했습니다. 그래서 '텔레그램 봇'이 기존에 설치된 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'