ホーム チュートリアル カテゴリ Skills サイトについて
ZH EN JA KO
インストール

OpenClaw Dockerデプロイ完全ガイド

· 8 分で読了

なぜDockerデプロイを選ぶのか

OpenClaw を長期的に安定運用したい場合、npm で直接インストールするよりも Docker デプロイのほうが適しています。環境の分離により依存関係の競合を防げること、ワンコマンドで起動・停止ができること、コンテナ再起動で自動復旧すること、バージョンアップがイメージタグの差し替えだけで済むことなど、明確なメリットがあります。

この記事では、Docker Compose によるデプロイをゼロから完成させます。個人サーバー、家庭用 NAS、クラウドの VPS いずれでも利用可能です。

事前準備

お使いのマシンに以下のツールがインストールされていることを確認してください。

  • Docker Engine 24+
  • Docker Compose v2+(最新版の Docker CLI にはすでに組み込まれています)

インストール状況の確認:

docker --version
docker compose version

Docker がまだ入っていない場合は、Docker 公式ドキュメント を参考にインストールしてください。

docker-compose.ymlを作成する

プロジェクト用のディレクトリを作り、Compose の設定ファイルを用意します。

mkdir -p ~/openclaw-docker && cd ~/openclaw-docker

以下の内容で docker-compose.yml を作成してください。

version: "3.8"

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    ports:
      - "18789:18789"
    volumes:
      - ./config:/root/.config/openclaw
      - ./data:/root/.openclaw
    environment:
      - NODE_ENV=production
      - TZ=Asia/Shanghai
    env_file:
      - .env

この設定で行っていることは以下のとおりです。

  • 公式イメージ openclaw/openclaw:latest を使用
  • Gateway のポート 18789 をホスト側にマッピング
  • 設定ディレクトリとデータディレクトリをマウントして永続化
  • タイムゾーンを上海に設定(必要に応じて変更可能)
  • .env ファイルから機密性の高い環境変数を読み込み

環境変数を設定する

API キーなどの機密情報を格納する .env ファイルを作成します。

# .env
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxx
OPENAI_API_KEY=sk-xxxxxxxxxxxxx

実際に使用するプロバイダーのキーだけ記入すれば十分です。.env ファイルには機密情報が含まれるため、バージョン管理システムにはコミットしないよう注意してください。

設定ファイルを作成する

config ディレクトリに OpenClaw のコア設定ファイルを作成します。

mkdir -p config

config/openclaw.json5 を以下の内容で作成してください。

{
  // AI モデルプロバイダー設定
  providers: {
    anthropic: {
      enabled: true,
      defaultModel: "claude-sonnet-4-20250514"
    }
  },

  // Gateway 設定
  gateway: {
    port: 18789,
    host: "0.0.0.0"  // Docker コンテナ内ではすべてのインターフェースをリッスンする必要があります
  },

  // チャンネル設定(必要に応じて有効化)
  channels: {}
}

host は必ず 0.0.0.0 に設定してください。そうしないとコンテナの外部から Gateway にアクセスできません。

コンテナを起動する

準備が整ったら、サービスを起動しましょう。

docker compose up -d

コンテナの実行状態を確認します。

docker compose ps

openclaw コンテナが running 状態になっていれば正常です。

ログを確認する

リアルタイムでログを確認するには以下のコマンドを使います。問題の切り分けに役立ちます。

docker compose logs -f openclaw

直近 100 行だけ表示したい場合はこちらです。

docker compose logs --tail 100 openclaw

起動中に API 接続エラーが出る場合は、たいていキーの設定ミスが原因です。.env ファイルのキーが正しいか確認してください。

日常の運用操作

サービスの停止:

docker compose down

サービスの再起動:

docker compose restart

最新バージョンへのアップデート:

docker compose pull
docker compose up -d

最新のイメージを取得してコンテナを再作成します。設定やデータはボリュームマウントしているため失われません。

コンテナ内に入ってデバッグ:

docker exec -it openclaw sh

コンテナ内で openclaw doctor を実行すれば診断が行えます。

データのバックアップ

設定とデータはホスト側の ./config./data ディレクトリにマウントされているため、バックアップは非常に簡単です。

tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz config data .env

定期的なバックアップをおすすめします。特にアップデート前には必ず実施してください。

リバースプロキシ設定(オプション)

ドメイン名で OpenClaw にアクセスしたい場合は、Nginx のリバースプロキシを前段に置くことができます。docker-compose.yml に Nginx サービスを追加するか、ホスト側の Nginx 設定に以下を追加してください。

server {
    listen 443 ssl;
    server_name openclaw.yourdomain.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

WebSocket の Upgrade ヘッダー設定は非常に重要です。OpenClaw のリアルタイム通信はこれに依存しています。

まとめ

Docker デプロイにより、OpenClaw の運用は非常に楽になります。一度設定すれば、日常的にはログの確認と定期的なアップデートだけで済みます。問題が発生した場合は、OpenClaw公式ドキュメントを参照するか、OpenClaw GitHub リポジトリで Issue を作成してください。その他の機能については OpenClaw をご覧ください。

OpenClawは無料のオープンソースAIアシスタント。WhatsApp、Telegram、Discordなど多数のプラットフォームに対応