さくらのVPS+Ubuntu20.04にtwitchTransFreeNextをインストールして起動するまで

今回はこちらのアプリを例にしたいと思います。これをVPSに入れて常時起動しておけばPS4から配信したときにもPC立ち上げずに字幕が翻訳されるという塩梅。

https://github.com/sayonari/twitchTransFreeNext

Gitのインストールと設定

まずはTeraTarmからさくらのVPSに接続。githubをつかうことが多いのでまずはgitの整備をします。githubのアカウントは取っておいてください。

sudo apt install git
git config --global user.name githubのユーザー名
git config --global user.email github登録メールアドレス
git config --global core.editor vim
sudo apt install gitsome

git config –global core.editor vim のところはお好きなエディタ名を入れます。

公開鍵の登録

https://qiita.com/majka/items/aba924de8d4a92f75dbb を参考に公開鍵を設定します。

bash
ssh-keygen -t rsa -b 4096 -C メールアドレス

エンターを大体3回打つとThe key fingerprint is:なんとかかんとか(AAみたいなの)

cat ~/.ssh/id_rsa.pub

ssh-rsaから始まるやたら長いメアドで終わる文字列を全部コピー

Githubのページに移りアカウント設定の”SSH and GPG keys”を選択。自分のアカウント(画面右上)をクリック。

右上の”New SSH key”を押し、
– Titleに自分が分かる名前
– keyにクリップボードから公開鍵をペースト
– “Add SSH key”を押す

Ubuntu git ~ github連携まで 様より引用
ssh -T git@github.com

yesと入力してエンター。なんかサクセスってでる。

twitchTransFreeNextのダウンロード

githubのhttps://github.com/sayonari/twitchTransFreeNextに戻ってここの黄色くマークしたところをクリック。Code→SSHとクリックすることで出てきます。

git clone git@github.com:sayonari/twitchTransFreeNext.git

これでlsとコマンドを打つとファイル一覧にtwitchTransFreeNextディレクトリがあるはず。

翻訳botのインストール

ダウンロードしたものは既にディレクトリになっています。

cd twitchTransFreeNext

readmeに従って設定。
一応めも。

Twitch_Channel           =  '配信したいチャンネルのユーザーID'
Trans_Username           =  'bot用サブアカウントのユーザーID'
Trans_OAUTH              =  'https://twitchapps.com/tmi/にbot垢から入った時に表示されるoauth:なんとかかんとかという文字列全部'

最低限の設定はこれだけ。

アプリを動かす

python3 twitchTransFreeNext.py

…で動きません!いろいろとモジュールが必要です。
基本的には

ModuleNotFoundError: No module named 'なんとか'

というエラーが出るので、その度に

sudo pip install なんとか
cd sudo cp -r /usr/local/lib/python3.5/dist-packages/なんとか /home/ユーザー名/twitchTransFreeNext/なんとか
python3 twitchTransFreeNext.py

を動くようになるまで繰り返します。

最終的に必要になったモジュールは以下の通り。多分。

google_trans_new
google_translator
gtts
websockets
playsound.py
twitchio

python3 twitchTransFreeNext してエラーが出なくなったら常時動かすようにします。

永続化する

cd /etc/systemd/system/

以下のファイルを作成

 sudo vim twitchTransFreeNext.service
[Unit]
Description=twitchTransFreeNext
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/VPSに接続しているユーザー名/twitchTransFreeNext
ExecStart=python3 /home/VPSに接続しているユーザー名/twitchTransFreeNext/twitchTransFN.py 

[Install]
WantedBy=multi-user.target

作ったら動かして様子を見る。

sudo systemctl daemon-reload
sudo systemctl start twitchTransFreeNext.service
sudo systemctl status twitchTransFreeNext.service

緑の丸が付いていたら成功なので有効化する。

sudo systemctl enable twitchTransFreeNext.service

動かない?

どうやらexeを動かすにはwineなるものが必要な様子(win10で動作確認したら動いた)。

sudo apt -y install wine64
sudo wine twitchTransFN.exe

serviceを修正

ExecStart=python3 /home/VPSに接続しているユーザー名/twitchTransFreeNext/twitchTransFN.py
の行を
ExecStart=sudo wine /home/VPSに接続しているユーザー名/twitchTransFreeNext/twitchTransFN.exe
に変更。

sudo systemctl reload twitchTransFreeNext.service

これでいつでも自動で翻訳botが起動するようになりました!
動いたらbot制作者の奥様のチャンネルをフォローするお約束ですね。素敵!

なお、win10で配信している場合は勝手に棒読みちゃんも起動してくれます。準備作業が一個減りますね。