このガイドでは、MagicTradeBot Bot Instance をコンパイルおよびデプロイする方法を説明します。対応している 2 つの方法(Docker によるコンテナ環境用、Systemd による従来の Linux サービス管理)を紹介します。
🛠️ 1. Bot インスタンスのコンパイル(Golang)
MagicTradeBot のボットコアは Go 言語で書かれており、さまざまな環境向けにコンパイルできます。
🔧 ローカル用にコンパイル(Systemd)
go build -o magictradebot main.go
このコマンドにより、カレントディレクトリに magictradebot
という実行可能ファイルが生成されます。
🐳 Docker 用にコンパイルおよびビルド
プロジェクトのルートに Dockerfile
を作成します:
# Dockerfile
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o magictradebot main.go
# 最終イメージ
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/magictradebot .
COPY config.yaml .
CMD ["./magictradebot"]
次に、イメージをビルドします:
docker build -t magictradebot-bot-instance .
🐳 2. Docker を使用した Bot インスタンスのデプロイ
ステップ 1: 設定を準備する
config.yaml
ファイルが同じディレクトリ内にあるか、実行時にマウントされていることを確認してください。
ステップ 2: コンテナを実行する
docker run -d \
--name=bot-bybit-01 \
-v $(pwd)/config.yaml:/app/config.yaml \
--restart=always \
magictradebot-bot-instance
リアルタイムログを表示するには docker logs -f bot-bybit-01
を使用します。
オプション: Docker Compose
version: '3.9'
services:
tradingbot:
image: magictradebot-bot-instance
container_name: bot-bybit-01
restart: always
volumes:
- ./config.yaml:/app/config.yaml
🧩 3. Systemd を使用した Bot インスタンスのデプロイ
ステップ 1: 実行ファイルを移動する
sudo mv magictradebot /usr/local/bin/
sudo chmod +x /usr/local/bin/magictradebot
ステップ 2: Systemd ユニットファイルを作成する
sudo nano /etc/systemd/system/magictradebot.service
[Unit]
Description=MagicTradeBot Instance
After=network.target
[Service]
ExecStart=/usr/local/bin/magictradebot
WorkingDirectory=/opt/magictradebot
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
User=ubuntu
[Install]
WantedBy=multi-user.target
ステップ 3: サービスを有効化・起動する
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable magictradebot
sudo systemctl start magictradebot
ログの確認
journalctl -u magictradebot -f
✅ 推奨事項
- 📁 各 Bot インスタンスに個別の
config.yaml
を使用してスケーラビリティを確保 - 🔐 API 通信に HTTPS を使用し、環境変数で機密情報を管理
- 📦 分離性と移植性のために Docker の使用を推奨
- 🛡️ LogDNA、Grafana Loki などの統合ロギングツールでボットアクティビティを監視