Bot プログラミングスキル 環境構築・インフラ 開発ログ

🛠️開発記録#229(2025/5/14)トレードロジック以外の部分🧰セクション8:運用ファイルと操作コマンドの早見ガイド

― Botを動かす/直す/止めるための「手元マニュアル」

ここでは、MMBotの開発・運用で最も頻繁に触れるファイル・CLIコマンド・チェックポイントを一覧化しました。
トラブル時・改修時・メンテ時にすぐ参照できるようにすることで、再起動忘れや設定ミスなどを未然に防げます。


📁8.1 触るファイルとその役割

ファイル / ディレクトリ役割変更時の注意点
.env.prodBotの全パラメータ(APIキー/シンボル/リスク条件など)変更後は 必ず再ビルド:down && up -d --build
config_mainnet.tplJSONテンプレートの雛形。env変数がここに埋め込まれる$VAR を追加したら、 .env.prod も更新する
core.pyメインの取引ロジック(MM処理・スプレッド判定など)修正後は docker compose restart で反映
entrypoint.sh起動時のテンプレ生成+検証スクリプト通常は触らない/変更時は慎重にテストを
logs/実行ログが日次ファイルとして保存される場所肥大化注意。定期的に整理してもOK
mmtrades_mainnet.dbSQLite形式のトレード履歴DB(コンテナ内のみ)永続化する場合は volumeマウントの設定が必要

💻8.2 よく使う Docker コマンド集(実運用向け)

コマンド目的解説
docker compose up -d --build初回起動/設定変更後の起動.env.prodDockerfile 変更後に必須。ログで構成の確認を。
docker compose down完全停止コンテナ+ネットワーク削除。自動再起動も止まる。
docker compose restartロジック修正後の即反映core.py などコードのみ変えたときに便利(再ビルド不要)。
docker compose logs -f mmbotBotの実行ログをリアルタイム監視Fill状況、スプレッド、Slack通知の有無、例外など。
docker compose psコンテナの現在の状態を確認実行中か?exitしてるか?何秒前に起動したか?などがわかる。
docker inspect mmbot詳細状態・環境の確認ENVやvolume、起動コマンド、RestartPolicyの確認に使える。
`docker compose exec mmbot printenvsort`反映された環境変数を一覧で確認
docker compose exec mmbot cat config_mainnet.jsonテンプレから生成された設定を確認entrypoint.sh によるJSONが正しく生成されたかを見る。
docker statsリソース使用状況(CPU/メモリ)を監視Botが暴走してないか、過剰消費していないかを確認。
docker compose stop“優しく”止めたいときシグナルを送ってソフトに停止。ログ記録や後処理をさせたいとき。
docker compose killどうしても止まらないとき強制終了。通常は使わない。最終手段。

🛑8.3 よくあるミスとその対策

現象原因対策
JSON構文エラーで即落ち.env.prod のカンマ忘れなどで jq に失敗config_mainnet.json を直接確認+再起動
Slack通知が来ないSLACK_WEBHOOK_URL 未設定/環境変数未注入.env.prod に明示+printenvで確認
ロジックを変更したのに挙動が変わらないcore.py 修正後に再起動していないdocker compose restart で反映
無限再起動ループexit 1 によるエラー終了が続くdocker compose logs で原因確認 → 修正後 down で止める

📎8.4 運用サイクル別:何を触ればいいか早見表

やりたいこと触るファイル実行コマンド
APIキーや建玉制限を変えたい.env.proddown && up -d --build
ロジックを変更したいcore.pyrestart
テストから本番へ移行したい.env.prodSYMBOLMMBOT_MODEdown && up -d --build
一度Botを止めたいdocker compose down
実行ログを見たいlogs/docker compose logs -f

🧵まとめ:現場では「コードよりも構成・再起動」の方が重要になる

  • .env.prodBotの「心臓」
  • core.pyBotの「頭脳」
  • entrypoint.shBotの「免疫系」
  • 再起動/再ビルドの判断を間違えないだけで、Bot運用の8割は成功

このセクションをリファレンス的に保存しておけば、エラー対応・検証・再起動の精度が一気に上がります。


🔚次回予告(セクション9)

次回はいよいよシリーズ総まとめとして、この構成を採用する意味、Bot開発の成功体験として得られるもの、そして将来的な拡張の展望を描きます。

-Bot, プログラミングスキル, 環境構築・インフラ, 開発ログ