Windows上でBinance Bot環境を作るメモ

このnoteの目的

Dockerなどを使った環境づくりに慣れてきたので、これまでの経験をもとに新たに環境を作り直す過程を記録しておくことにした。

前回は以下に記録したように環境をLinux上に作ったけれども、今回は手元で実験する環境としてお手軽なWindows上で作ってみる。

ハードウェアやネットワーク環境

  • Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz

  • 16GBメモリ

  • 約100GBの空きSSD領域

  • Windows 10 Home

  • よくあるマンション系光ファイバーサービス。100Mbpsベストエフォート。

Windowsへいろいろインストール

まずは色々と必要なソフトをインストールしていく。

Visual Studio Code

エディタ。そのほか色々なことをここでやるのでとても大事。

利用するVisual Studio Codeのプラグインは以下のとおり。全部インストールする。(新しく必要になったら随時追記する)

Docker Desktop for Windows

仮想サーバをWindows上で動かすために使う。

以下の手順に従ってインストールすれば特に問題はなかった。WSL2のセットアップがややめんどくさい。BIOSの仮想化オプションをONにするのを忘れないように。

Git for Windows

仮想サーバをまとめて作って起動するための設定ファイル群をダウンロードするために使う。

Windowsの環境変数設定

Dockerで仮想サーバをまとめて起動する際に、Windows側でAPIキーなどを環境変数に設定しておけば、仮想サーバ上で利用できるようになっていると何かと便利なので、ここでWindows側の環境変数を設定しておく。

設定した値は以下の通り。

  • GIT_ACCESSTOKEN : プライベートリポジトリにpushする際に使うアクセストークン

  • GIT_USER : gitで使うユーザー名

  • GIT_EMAIL : gitで使うメールアドレス

  • BINANCE_APIKEY : BinanceのAPIキー

  • BINANCE_APISECRET : BinanceのAPIシークレット

  • BINANCE_TESTNET_APIKEY : Binance testnetのAPIキー

  • BINANCE_TESTNET_APISECRET : Binance testnetのAPIシークレット

  • DISCORD_WEBHOOK : Discordにbotから通知を送る際に使うAPIのURL

crypto-wannabebotter-template リポジトリ

再利用しやすいように、ここにdocker-compose用の設定ファイルと、よく使うbotの基礎となるpythonスクリプトをまとめておくことにした。

まずは、gitを使ってソースコードをWindows 10上にダウンロードする。

C:\somewhere> git clone https://github.com/WannabeBotter/crypto-wannabebotter-template

サーバ (Dockerコンテナ) 群の起動

きちんとDocker DesktopとWSL2の設定ができていれば、以下のコマンドをコマンドプロンプトから入力すれば、すべての仮想サーバ (Dockerコンテナ) が起動できる…はず。

C:\somewhere> cd crypto-wannabebotter-template\docker-script
C:\somewhere\crypto-wannabebotter-template\docker-script> docker compose up -d
  • ハマりポイント1 : gitからダウンロードしたファイルの中でも、apt_packages.txtとpip_packages.txtの改行コードがCRLFになっているとうまく仮想サーバが起動できない。Visual Studio Codeの画面右下で、改行コードの設定を変えて上書き保存すると回避できる。この変更はファイルごとにやらなければいけない。結構長時間ハマってしまった。

一度うまく仮想サーバが起動すれば、その後はDocker DesktopのGUIから仮想サーバ群を停止・再起動したり、仮想サーバの中でWebアプリが動いている場合は、それをブラウザで開いたりできるようになる。便利。

Docker Desktopの画面
http://localhost:8888/labをブラウザで開くとこのような画面が出てくる

Visual Studio CodeのDockerプラグインを使って、起動中の仮想サーバにVisual Studio Codeを接続して、リモートで内部のファイルをまるでローカルファイルを編集するようにいじることができたりもする。便利。

Visual Studio CodeのDockerプラグイン画面

今のところはここまで

今のところ、上記のコマンドでは以下の二つの仮想サーバが起動するが、特にbotのソースコードが入っているわけではない。

  • Jupyter Lab

  • TimescaleDB

今までやったことの整頓をしながら、だんだん内容を拡充していくつもり。

いいなと思ったら応援しよう!