2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

botter専用Cloud9環境の複製手順(github/talib)

Last updated at Posted at 2022-04-13

新botの稼働環境を作成する時のメモ

  • cloud9の環境をそのまま複製したかったけどあまりいいやり方が見つからなかったので、普通に新規で作成して全く同じ環境を構築できるように手順をマニュアル化する。
  • やろうと思えばEBSを複製して作成したcloud9環境のEBSと入れ替えるとかもできるっぽいけどSSHとかの問題で全く同じ環境になるかどうかは怪しい(未検証)

手順

cloud9を作成する

  • マシンスペックとかは同じ設定を選べばいい
  • 基本デフォルト設定でOK

github連携

gitを導入

sudo yum -y update
sudo yum -y install git
git config --global user.name "USER_NAME"
git config --global user.email EMAIL_ADDRESS

参考元URL

リポジトリをcloneする

  • cloud9上でGUIで操作するのが簡単。ただし、普通にパスワードを入れるとエラーになるのでパーソナルアクセストークンを使う必要がある
  • SSHだと大丈夫

SSH接続する

  • SSH接続をしておくと毎回パスワードを聞かれなくなるので、cloud9側からも頻繁に修正するならやっておいたほうが楽

公開鍵を表示して末尾のアドレス部分(xxxx@1111)以外をコピーしてgithub側でSSHkeyを登録

$ cd ~/.ssh
$ ssh-keygen
cat ~/.ssh/id_rsa.pub

使用する秘密鍵をconfigファイルに設定

$ vi ~/.ssh/config
#-------------------
Host github
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git
#-------------------
# 「Iキー」 インサートモード(編集)
# 「wq」 保存して終了

権限を所有者の読み書きに変更

chmod 600 ~/.ssh/config

接続確認

$ ssh -T git@github.com

→Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access.
が表示されればOK

ライブラリのインストール

requirements.txtを使って一括でインストールする

複製元のcloud9で以下を実行して、結果をrequirements.txtに貼り付ける

pip freeze

複製先のcloud9で以下を実行(カレントディレクトリをrequirements.txtと同じ階層に移動)

pip install -r requirements.txt

基本これでOKだが、talibを使っているとエラーになる

talibのインストール

参考URL

以下を実行すると

wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -zxvf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
sudo make install

sudo bash -c "echo "/usr/local/lib64" >> /etc/ld.so.conf"
sudo /sbin/ldconfig
sudo pip install ta-lib

自分の環境ではこんな感じのエラーになる

talib Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

たしか最後を

pip3 install ta-lib

に変えればいけた気がする。

timezoneの変更

デフォルトではUTCになっているのでAsia/Tokyoに変更する。
※botの仕様によってはUTCじゃないといけない場合もあるので注意。
個人的にはログを見返す時に日本時間じゃないと見づらいからという理由で変更しているだけ
参考URL

sudo cp /etc/sysconfig/clock /etc/sysconfig/clock.org  #  バックアップ作成
sudo vim /etc/sysconfig/clock  # vimで編集 "UTC"→"Asia/Tokyo"
sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime  # シンボリックリンクの変更
sudo reboot # 再起動

自動再起動のやつのインストール

npm install forever -g

bot起動

forever start -c python3 ***.py

止める時は

forever list

でプロセス番号を確認して

forever stop 0

とかで止める

以上

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?