까먹기전에 먹어버리자

NAS로 디스코드 봇(파이썬)을 운영해보자 본문

NAS

NAS로 디스코드 봇(파이썬)을 운영해보자

자꾸까먹는사람 2020. 12. 18. 16:07

디스코드에서 나만의 봇을 만들어 쓰고싶어 구글링을 통해 간단히 만들어서 사용중이었는데요.

PC를 계속 켜 둘 순 없고, 거의 24시간 돌아가는 NAS에서 운영할 순 없을까? 하여 만들어봤습니다.

 

취미로 코딩하는 것이라 실력이 부족하기에 봇을 만드는 방법은 생략하겠습니다.

 

NAS 환경은 Synology,  언어는 파이썬으로 봇을 만들었다는 상태에서 설명드릴게요.

 

 

PC에서 putty를 설치합니다.

https://www.putty.org/

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

www.putty.org

 

 

패키지 센터에서 Docker를 설치합니다.

 

 

파일 스테이션(File station)에서 docker라는 이름을 가진새 공유 폴더를 만들고, python 폴더를 생성합니다.
python 폴더를 우클릭, 속성을 클릭하여 권한 탭을 눌러 권한 설정을 해줍니다

 

 

python폴더에 봇과 봇에 필요한 이미지 같은 파일을 업로드합니다.

 

 

이제 putty를 실행 하기 전, ssh 포트를 열어줘야 합니다.
제어판 > 터미널 및 SNMP > 터미널 탭에서 "SSH 서비스 활성화" 를 클릭 후 자신이 원하는 포트를 열어줍니다.
(기본포트 말고 다른 포트를 추천합니다.)

공유기에서 DMZ 설정을 하지 않으신 분들은 사용하실 번호를 포트포워딩을 통해 열어주셔야 합니다.

 

 

 

putty를 실행하여 자신의 NAS 주소와 포트 번호를 입력하여 실행합니다.

 

NAS에서 사용하시는 ID와 비밀번호를 입력 후, sudo -i를 입력하여 관리자 권한을 얻습니다.
sudo -i를 입력할때 비밀번호 한번 더 입력하셔야합니다.

파이썬 이미지를 설치합니다.
최신 버전 파이썬 설치 명령어 = docker pull python/python
임의 버전 파이썬 설치 명령어 = docker pull python:3.8.6

컨테이너를 설치하는 명령어를 입력합니다.
docker run -v /volume1/docker/python:/app \ -it python:3.8.6 bash -c 'pip3 install discord && python /app/bot.py'
빨간색은 아까 만든 python의 경로를 넣으시면 됩니다. (docker에서 경로를 잡아주는 명령어)
파란색은 설치된 파이썬의 버전을 넣으시면 됩니다.
초록색은 파이썬에서 필요한 모듈을 입력하시면 됩니다. discord는 필수입니다.

성공적으로 구동된 모습

docker의 컨테이너 탭으로 이동하시면 랜덤으로 설정된 이름을 가진 컨테이너 1개가 작동하고 있음을 확인할 수 있습니다.
이름은 바꾸셔도 됩니다.

 

봇에 구동한 파일을 변경하거나 파이썬 스크립트를 바꾸고 싶을땐 python 폴더에서 수정하시면됩니다.
putty 사용 후 반드시 ssh 포트를 차단해주시길 바랍니다. 기본포트 사용시 NAS 해킹 시도가 많이 들어옵니다.