O poradniku
Najszybszy i najprostszy sposób na Sinusbota który działa na VPS KVM Game Pro 2GB RAM i większych https://lvlup.pro/oferta/vps-kvm-game-pro/ takie VPSy mają standardowo zainstalowane Ubuntu 14.04 LTS 64bit które współpracuje z Dockerem.
Pozwala nam to łatwo i niezawodnie postawić bota muzycznego do TeamSpeak 3 oraz Discord.
Przed wykonaniem komend należy zalogować się na konto root!
Aby zalogować się na konto root używamy komendy sudo su
.
1. Instalacja Dockera
Uruchamiamy automatyczną instalację
wget -qO- https://get.docker.com/ | sh
2. Pierwszy start
Tworzymy folder /opt/docker/sinusbot/
w którym będą nasze pliki sinusbota.
Następnie uruchamiamy go tylko na chwilę aby zapisać wygenerowane hasło do konta admina.
Pierwsze uruchomienie może potrwać kilka minut, jest wtedy ściągany obraz kontenera.
mkdir -p /opt/docker/sinusbot/data /opt/docker/sinusbot/scripts
chown -R 3000:3000 /opt/docker/sinusbot
docker run --name sinusbot -v /opt/docker/sinusbot/data:/sinusbot/data -v /opt/docker/sinusbot/scripts:/sinusbot/scripts -p 8087:8087 galexrt/sinusbot:latest
Gdy już bot zaczyna się uruchamiać zobaczymy coś podobnego jak poniżej, jest tam podane hasło konta admina które sobie zapisujemy.
Unable to find image 'galexrt/sinusbot:latest' locally
latest: Pulling from galexrt/sinusbot
3a635c0fcefb: Pull complete
bf3f7e9b4869: Pull complete
ad323864e1f8: Pull complete
b4d3fc870200: Pull complete
4e69d6ff0e56: Pull complete
64e4c23d41f5: Pull complete
56e0c016beba: Pull complete
82f4e8d2fde0: Pull complete
7b230823ae17: Pull complete
d31c4b7723e7: Pull complete
708a52a754d4: Pull complete
Digest: sha256:49c3160a08db2d40489a370c021caf8d594ba484377888de3d81f7b7f39cbed0
Status: Downloaded newer image for galexrt/sinusbot:latest
-> Updating sinusbot user and group id if necessary ...
-> Correcting file and mount point permissions ...
=> Corrected mount point permissions.
-> Checking if scripts directory is empty
-> Copying original sinusbot scripts to volume ...
=> Sinusbot scripts copied.
-> Checking for old data location ...
=> You are good to go! You are already using the new data directory, located at "/sinusbot/data".
=> Starting SinusBot (https://sinusbot.com) by Michael Friese ...
___ ___ _ _ _ _ ___ ___ ___ _____ BETA
/ __|_ _| \| | | | / __| _ )/ _ \_ _|
\__ \| || .` | |_| \__ \ _ \ (_) || |
|___/___|_|\_|\___/|___/___/\___/ |_|
Version: 0.9.16-10f0fad
(C) 2013-2016 Michael Friese. All rights reserved.
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin advertising.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin aloneMode.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin badchan.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin bookmark.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin covatar.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin dev.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin followme.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin idle.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin metadata.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin norecording.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin rememberChannel.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin showcase.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin sound.js
2017/02/16 22:46:23 [GENERAL/SCRIPTS] INFO Loading ScriptPlugin welcometext.js
-------------------------------------------------------------------------------
Generating new bot instance with account 'admin' and password '1vGGelxh'
PLEASE MAKE SURE TO CHANGE THE PASSWORD DIRECTLY AFTER YOUR FIRST LOGIN!!!
-------------------------------------------------------------------------------
Chwilowo usuwamy nasz kontener ale bez obaw, dane zostają bezpieczne w folderze :)
docker rm sinusbot
Gdy już zapisaliśmy hasło, wciskamy Ctrl
+ C
aby wyłączyć bota.
3. Start i autorestart
Jako że mamy już dane do admina to uruchomimy bota muzycznego w ten sposób aby sam się restartował, czy to przy crashu czy przy restarcie VPS, bez potrzeby używania crona.
docker run --name sinusbot -v /opt/docker/sinusbot/data:/sinusbot/data -v /opt/docker/sinusbot/scripts:/sinusbot/scripts -p 8087:8087 --restart=always -d galexrt/sinusbot:latest
Po wykonaniu tej momendy wyświetli nam się długi ciąg znaków w tym stylu:
e7f0ff8ce4c20a795d8018457a33b54edb4469f7e87c2f566dbd6dac9c6cfd30
Oznacza to że nasz bot się właśnie włącza i możemy już wejść do jego panelu który znajduje się na porcie 8087 naszego VPS więc wchodzimy w przeglądarkę na adres http://ip-naszego-vps:8087 i logujemy się korzystając z loginu admin oraz hasła które wcześniej zapisaliśmy.
Przydatne komendy
Aktualizowanie Sinusbota
Co jakiś czas możemy chcieć zaktualizować bota do najnowszej wersji, wystarczą dwie komendy, jedna ściąga nowy obraz, druga restartuje aby użyć nowego obrazu
docker pull galexrt/sinusbot:latest
docker restart sinusbot
Zatrzymywanie
docker stop sinusbot
Start
docker start sinusbot