OpenClaw Docker + Discord セットアップ
環境: Windows 11 + Docker Desktop(WSL2 バックエンド) / NVIDIA RTX 4060(CUDA 12.8)
---
📁 ファイル
| ファイル | 役割 | Git 管理 | |---------|------|---------| | .env | API キー、トークン(DISCORD_BOT_TOKEN, OPENROUTER_API_KEY) | ❌ 禁止(.gitignore) | | openclaw.json | 動作設定(モデル、mention 設定、メモリ、auth 順序) | ✅ 可 | | docker-compose.yml | Docker コンテナ定義(GPU 設定含む) | ✅ 可 |
---
🚀 実行手順
初回のみ
# イメージビルド(discord + openrouter 拡張機能)
docker build --build-arg OPENCLAW_EXTENSIONS="discord,openrouter" -t openclaw:local .
# 認証設定(対話形式)
docker compose run --rm openclaw-cli configure
# ウィザード順: Model → OpenRouter → APIキー → deepseek/deepseek-v4-flash を選択
# ※ configure 後に auto モデルが登録されるので必ず削除
docker compose run --rm openclaw-cli config unset agents.defaults.models.openrouter/auto
# メモリインデックス
docker compose run --rm openclaw-cli memory index --force
毎回の起動
docker compose up -d
✅ 確認: docker compose logs openclaw-gateway --tail 3 → ready と Discord bot probe resolved が出れば OK
停止
docker compose down
---
⚙️ 設定変更
モデル変更
docker compose run --rm openclaw-cli config set agents.defaults.model.primary "openrouter/deepseek/deepseek-v4-flash"
docker compose restart openclaw-gateway
✅ 確認: ログに agent model: openrouter/deepseek/deepseek-v4-flash と出れば OK
openclaw.json 編集
docker compose cp openclaw.json openclaw-gateway:/home/node/.openclaw/openclaw.json
docker compose run --rm --no-deps --entrypoint sh -u root openclaw-gateway -c "chown node:node /home/node/.openclaw/openclaw.json && chmod 600 /home/node/.openclaw/openclaw.json"
docker compose down && docker compose up -d
.env 編集
docker compose down && docker compose up -d
※ restart ではなく down && up でコンテナを作り直すこと
---
⚠️ 絶対に忘れてはいけない注意点
configure 後の auto モデル削除(最重要)
configure ウィザードを使うと openrouter/auto が自動登録される。これを削除しないと GPT で応答して OpenRouter のクレジットを消費する。
docker compose run --rm openclaw-cli config unset agents.defaults.models.openrouter/auto
docker compose restart openclaw-gateway
認証 DB リセット
openclaw-agent.sqlite を削除すると認証情報が消える。再設定には configure が必要。
docker compose run --rm openclaw-cli configure
Discord Message Content Intent
Discord Developer Portal → Bot → Privileged Gateway Intents → Message Content Intent を ON にしないと、メンションなしのメッセージを読めない。
---
🖥️ GPU
docker-compose.yml に以下の設定が追加済み:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
確認:
docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu24.04 nvidia-smi
---
🔧 その他
- Docker Desktop 自動起動: Settings → General → Start Docker Desktop when you sign in to your computer
- コンテナ内のファイル確認: VS Code の Docker 拡張機能 →
openclaw-gateway-1右クリック → Attach Visual Studio Code →/home/node/.openclaw/workspaceを開く - Git にプッシュ: プライベートリポジトリを作成 →
git remote set-url origin https://github.com/ユーザー/リポジトリ.git→git push










