中級 12 分エージェント

OpenClaw を Docker でインストール:ステップバイステップと導入方法 jour

このガイドでは、PCまたはVPSにDocker ComposeでOpenClawをインストールする方法を解説します。公式リポジトリの取得、オンボーディング、制御インターフェースへの初回接続から、更新、何も残さずにアンインストールする方法までを扱います。コマンドはプロジェクトのドキュメントに基づいていますが、ドキュメントは頻繁に更新されるため、貼り付ける前に読み直してください。このガイドには、当サイト独自のテスト結果もインストール所要時間も含まれていません。すべての手順に共通するルールは、OpenClawのゲートウェイを決してインターネットからアクセスできる状態にしないことです。

著者 Samir K.·更新 2026-10-04·Windows・macOS・Linuxでテスト済み

#OpenClaw をインストールする:公式スクリプトか Docker か?

このプロジェクトでは、OpenClawのインストール方法が2通り説明されています。1つ目は、スクリプトを使ってopenclawコマンドをシステムに直接インストールする方法です。2つ目は、ゲートウェイ(メッセージングサービスとモデルをつなぐ中核プロセス)をDockerコンテナ内で実行する方法です。どちらの方法でも、同じソフトウェアと、onboardingと呼ばれる同じ初期設定ウィザードを利用できます。

公式スクリプト
macOS、Linux、WSL2を使う個人用マシンでは、これが最も手早い方法です。スクリプトがopenclawコマンドをインストールし、必要ならNode.jsもインストールします。その後、初期設定でゲートウェイをユーザーセッションのサービスとして登録します。
Docker Compose
ゲートウェイはコンテナ内で動作し、ホストにはDocker以外はインストールされません。VPSで使う場合や、すべてを一度の操作で削除できるようにしたい場合に実用的な方法です。ドキュメントでは、この方法は任意の選択肢として紹介されています。
Dockerが変更しない点
コンテナは、ホストからマウントされた設定フォルダとワークスペース、そしてネットワークへの完全なアクセスを引き続き保持します。役に立つ仕切りではありますが、金庫ではありません。
ターミナル — 参考として掲載するスクリプト方式
# Télécharger et exécuter l'installateur officiel
curl -fsSL https://openclaw.ai/install.sh | bash

# Lancer l'onboarding et installer le service
openclaw onboard --install-daemon

このガイドでは、この先はDockerを使う方法で進め、更新とアンインストールの手順ではスクリプト方式での対応するコマンドも再掲します。ツール自体を使う意義についてまだ迷っている場合は、当サイトの「OpenClawとは?」ページでその点を解説しています。ここではインストールを進めます。

!
公式の配布元・情報源のみを利用
このプロジェクトは2回名称を変更しました(Clawdbot、次にMoltbot、そしてOpenClaw)。その人気に乗じて、偽のリポジトリやパッケージ、怪しい「ワンクリックインストーラー」が現れました。動画、フォーラム、ブログ記事(この記事も含みます)で見つけたインストールコマンドを、ドキュメントと照合せずにターミナルへ貼り付けることは絶対にしないでください。正規の参照先は3つあります。スクリプトはopenclaw.ai、コードはgithub.com/openclaw/openclaw、ドキュメントはdocs.openclaw.aiです。実行前にスクリプトを読んでおいてもかまいません。ファイルとしてダウンロードし、開いて内容を確認してから実行してください。

#前提条件

ローカルエージェントキット

あなたのマシンで動作するエージェント:エージェント型 Cline、MCP、n8n + Ollama、ローカル自動化。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート

ゲートウェイ自体のリソース消費は少なく、メッセージを中継してモデルを呼び出します。以下の要件は、主にDockerとイメージのビルドに関するものです。

Docker および Compose v2
macOSおよびWindows(WSL2)でDocker Desktop、またはLinuxでDocker EngineにComposeプラグインを併用。コマンドはdocker composeとし、スペースを含みます。旧バージョン1のdocker-composeは使用できません。
Git
Dockerfile、docker-compose.yml、インストールスクリプトを含む公式リポジトリをクローンするために使います。
メモリ
ドキュメントでは、イメージのビルドに少なくとも2GBのRAMが必要とされています。RAMが1GBのホストでは、メモリ不足によりシステムがコンパイルを中断することがあります(終了コード137)。後述のビルド済みイメージを使えば、この手順を省けます。
ディスク
Dockerイメージやログ用のスペースを確保してください。ドキュメントには数字が記載されていませんので、docker system dfで容量を監視してください
1つのモデル
オンラインプロバイダーのAPIキー(支出上限付き)またはローカルモデルのいずれか。ローカルモデルの接続は別問題であり、本ガイドでは扱いません。
VPS上で
SSH鍵によるアクセスと、SSH接続だけを受け入れるように設定されたプロバイダーのファイアウォール。後で説明するように、それ以外のポートを開く必要はありません。
ターミナル — ツールを確認
docker --version
docker compose version
git --version

Windowsで作業する場合は、WSL2のターミナルから実行してください。インストールスクリプトはシェルスクリプトであり、ドキュメントはWindowsユーザーに対してWSL2への導入を推奨しています。どのマシンでも、個人のドキュメントやパスワードを保存しているマシンを避けてください。コマンドを実行できるエージェントは、専用マシン、仮想マシン、またはレンタルサーバーに配置されるべきです。

#Docker ComposeでOpenClawをステップごとにインストール

Docker のインストールは、リポジトリに提供されているスクリプトに基づいています。このスクリプトは、イメージの準備、オンボーディング、ゲートウェイの起動を順次実行します。以下の4つの手順は、この順序に従っています。

#1. オフィシャルリポジトリをクローンする

ターミナル
git clone https://github.com/openclaw/openclaw.git
cd openclaw

アドレスを1文字ずつ確認してください。GitHubのopenclaw組織であり、似た名前のリポジトリではありません。私たちが把握しているドキュメントでは、Dockerのインストールスクリプトはdocker-setup.shという名前で、リポジトリのルートにあります。このプロジェクトではファイル配置が頻繁に変更されるため、最近のバージョンではscripts/docker/の下に置かれている場合もあります。次のコマンドで、ご自身の環境ではどちらの場所にあるかを確認できます。

ターミナル — スクリプトを探す
ls docker-setup.sh scripts/docker/setup.sh 2>/dev/null

#2. ビルド済みイメージを使うか、ローカルでビルドするかを選ぶ

デフォルトでは、スクリプトはお使いのマシン上でDockerfileからイメージをビルドし、openclaw:localという名前を付けます。クローンしたばかりのコードを自分でコンパイルするため、これが最も透明性の高い方法ですが、メモリと計算時間が必要です。別の方法として、スクリプトを実行する前にOPENCLAW_IMAGE変数を設定し、プロジェクトがGitHubのレジストリに公開しているイメージをダウンロードすることもできます。

ターミナル — オプション:公開済みのイメージを使用する
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"

latest タグは、公開された最新バージョンを追従します。サーバーでは、リポジトリのリリースページにある具体的なバージョン番号に置き換えるほうがよいでしょう。そうすれば更新するタイミングを自分で決められ、問題が起きた場合に戻すべきバージョンも分かります。

#3. インストールスクリプトを実行する

ターミナル
./docker-setup.sh

ドキュメントによると、このスクリプトは5つの処理を順次実行します。

画像
ローカルにイメージを構築するか、OPENCLAW_IMAGEが定義されている場合にダウンロードします。
Onboarding
一時的なコンテナ内で設定アシスタントを起動します。
トークン
ゲートウェイのアクセストークンを生成し、リポジトリのルートにある .env ファイルに書き込みます。
起動
Docker Composeを使い、openclaw-gatewayというサービス名でゲートウェイを起動します。
データ
設定とワークスペースはホスト側の ~/.openclaw および ~/.openclaw/workspace に保存されます。これらのディレクトリはコンテナの削除後に残ります。

#4. オンボーディングの質問に答える

セットアップアシスタントは、モデル、メッセージングサービス、ゲートウェイについて質問します。最後のゲートウェイに関する部分では、スクリプトがコンテナ環境で想定される回答を表示します。これらは通常のインストール時の回答とは異なり、最初の回答については説明が必要です。

Gateway bind : lan
コンテナ内では、ゲートウェイがDockerネットワークのインターフェースで待ち受ける必要があります。そうしないと、ホスト側に公開したポート経由の通信がゲートウェイに届きません。この設定だけでは、外部から何にアクセスできるかは決まりません。それはホスト側の設定で決まります。VPSのセクションを参照してください。
ゲートウェイ認証:トークン
ゲートウェイのインターフェースとAPIにアクセスするには、トークンが必要です。
ゲートウェイトークン
スクリプトが今表示したトークンを使い、.envファイルの値と一致するようにしてください。
Tailscale exposure : Off
自動的に外部へ公開されることはありません。リモートアクセスを有効にするかどうかは、影響を理解したうえで後から決めます。
Install Gateway daemon : No
この構成では、コンテナを再起動するのはシステムサービスではなく、Docker Composeです。

モデル用には、メインのAPIキーではなく、利用予算に上限を設けたAPIキーを指定してください。メッセージングの設定はスキップし、ゲートウェイの動作を確認してから戻って設定できます。コマンドの変換ルールを覚えておいてください。ドキュメントにあるopenclawで始まるコマンドは、ここでは先頭にdocker compose run --rm openclaw-cliを付けて実行します。

ターミナル — 後からメッセージングサービスを追加する
# WhatsApp : affiche un QR code à scanner depuis le téléphone
docker compose run --rm openclaw-cli channels login

# Telegram : avec le jeton du bot créé auprès de BotFather
docker compose run --rm openclaw-cli channels add --channel telegram --token "<jeton-du-bot>"

#ゲートウェイが動作していることを確認する

ほかのものを接続する前に、コンテナが起動していることと、ログにエラーが出ていないことを確認してください。

ターミナル
docker compose ps
docker compose logs -f openclaw-gateway

次に、同じマシンのブラウザで操作画面を開き、その設定にトークンを貼り付けてください。リンクが分からなくなった場合は、dashboardコマンドで再表示できます。このコマンドはブラウザを開こうとはしません。

制御インターフェース(マシン自体から)
http://127.0.0.1:18789/
ターミナル — アクセスリンクの再表示
docker compose run --rm openclaw-cli dashboard --no-open

2つの組み込みチェックで、確認を補います。1つ目はインストールと設定を診断し、2つ目は危険な設定を点検します。設定を変更するたびに、両方を再実行してください。

ターミナル — 診断と監査
docker compose run --rm openclaw-cli doctor
docker compose run --rm openclaw-cli security audit --deep

最後に、.envファイルを保護してください。このファイルにはゲートウェイのトークンが含まれています。このトークンを持つ人は誰でもエージェントを操作でき、ひいてはエージェントがアクセスできるものすべてを操作できます。chmod 600 .envを実行すると、読み取りを自分のアカウントだけに制限できます。Gitリポジトリにコピーしたり、スクリーンショットに写したりしないでください。

#VPS上のOpenClaw:ゲートウェイを公開しない

ルーターの背後にあるPCでは、Dockerで公開されたポートはローカルネットワーク内に留まります。VPSでは、マシンにパブリックアドレスが割り当てられており、アドレスを指定せずに公開されたポートはインターネット全体からアクセス可能になります。2026年初頭、研究者たちはこの方法でアクセス可能なOpenClawゲートウェイが数千件あることを特定しました。トークンはアクセスを保護しますが、1つの脆弱性があればそれを回避できます。2026年1月末に修正された脆弱性CVE-2026-25253は、まさにトークンを盗むことを可能にしていました。適切な対応は、何も公開しないことです。

!
Docker は UFW の制限を迂回する
Docker は独自のファイアウォールルールを設定します。コンテナーが公開したポートは、UFW が拒否ポリシーを表示していても、外部からアクセスできます。このため、OpenClaw のセキュリティドキュメントでは DOCKER-USER チェーンを参照しています。UFW だけを信用せず、実際に何が接続を待ち受けているかを確認してください。
ターミナル(VPS上で)— ポートはどのアドレスで公開されていますか?
docker compose port openclaw-gateway 18789
ss -tlnp | grep 18789

応答が 0.0.0.0 で始まる場合、そのポートはすべてのインターフェースで公開されています。最も外側からコンテナに最も近いところまで、三つの保護策を重ねて適用します。

プロバイダーのファイアウォール
ホスティング事業者の管理コンソールで提供されるフィルタリングは、通信がマシンに届く前、つまりDockerに届く前に適用されます。ここではSSHの通信だけを許可してください。
127.0.0.1でのポート公開
以下のファイルを使って、Dockerがホストのローカルアドレスにだけポートを公開するよう設定してください。
トンネル経由でのアクセス
SSHトンネルまたはVPNを通じて管理画面に接続してください。公開アドレス経由では決して接続しないでください。
docker-compose.override.yml — 必要に応じて調整する例
services:
  openclaw-gateway:
    ports: !override
      - "127.0.0.1:18789:18789"
      - "127.0.0.1:18790:18790"

このファイルは当サイトが用意した例であり、OpenClawのドキュメントからの抜粋ではありません。使用する前に、サービス名とポート一覧を、使用中のバージョンのdocker-compose.ymlと比較してください。!overrideタグはポート一覧に項目を追加するのではなく、一覧全体を置き換えます。使用にはDocker Compose 2.24.4以降が必要です。このファイルをdocker-compose.ymlと同じディレクトリに置き、docker compose up -d openclaw-gatewayでコンテナを再作成してから、もう一度確認してください。今度は確認結果に127.0.0.1:18789が表示されるはずです。

ターミナル(お使いのコンピュータ上)— ゲートウェイへのSSHトンネル
ssh -N -L 18789:127.0.0.1:18789 utilisateur@adresse-du-vps

このトンネルが開いている間は、お使いのコンピュータでhttp://127.0.0.1:18789/にアクセスすると、サーバーのゲートウェイにつながります。一方、メッセージングサービスは通常の動作モードでは受信用ポートを一切必要としません。WhatsApp、Telegram、Discordでは、ゲートウェイ側から外向きの接続を開始します。したがって、ドメイン名を使って管理インターフェースを公開する理由はありません。考え方はモデルサーバーの場合と同じで、詳しくは当サイトのOllamaサーバーの安全対策ガイドで説明しています。

#OpenClawを更新する

このプロジェクトは頻繁に新しいバージョンを公開しており、脆弱性を修正するものもあります。インストールしたまま何か月も放置することは、時間の節約ではなくリスクです。Dockerでは、イメージを置き換えてコンテナを再作成すれば更新できます。~/.openclawにあるデータはそのまま保持されます。

  1. 01
    データフォルダをバックアップ
    更新を行う前には必ず~/.openclawをアーカイブしてください。新しいバージョンでは設定が移行される可能性があり、確実に元の状態に戻すには、更新前の状態のコピーが必要です。
  2. 02
    新しいバージョンを取得
    git pull でリポジトリを更新して、最新の Dockerfile と Compose ファイルを取得してください。その後、インストール時に選んだ方法に応じて、ローカルのイメージを再ビルドするか、公開されているイメージをダウンロードしてください。
  3. 03
    コンテナを再作成する
    openclaw-gateway サービスを再起動してください。Docker Compose は、イメージが異なる場合にすぐにコンテナを置き換えます。
  4. 04
    制御する
    doctorを実行し、ログの末尾の数行を読んで、利用しているメッセージサービスからテストメッセージを送信してください。
ターミナル — 1. バックアップ
tar czf openclaw-sauvegarde-$(date +%F).tar.gz -C ~ .openclaw
ターミナル — 2番と3番、ローカルで構築されたイメージを使用
cd openclaw
git pull
docker build -t openclaw:local -f Dockerfile .
docker compose up -d openclaw-gateway
ターミナル — 手順2と3、公開済みのコンテナイメージを使用
cd openclaw
git pull
docker compose pull openclaw-gateway
docker compose up -d openclaw-gateway
ターミナル — 4. コントロール
docker compose run --rm openclaw-cli doctor
docker compose logs --tail 50 openclaw-gateway

公開済みのコンテナイメージを使う方式では、.env ファイルに OPENCLAW_IMAGE の行があることが前提です。インストール時にこの変数が設定されていた場合、スクリプトがその行を追加します。バージョン番号を固定している場合は、まずこの行を変更してください。元に戻すには、以前の番号に戻してコンテナを再作成し、その間に設定が移行されていた場合はバックアップを復元してください。

→
リリースノートは後ではなく、事前に読む
リポジトリのリリースページには、非互換性のある変更とセキュリティ修正が記載されています。git pull を実行する前に30秒間読み込むことで、アシスタントのログ内で設定項目の名前が変更されていることに気づかず、アシスタントが応答しなくなるのを防ぐことができます。

スクリプト方式では、組み込みコマンドで更新し、その後に同じ診断を実行します。

ターミナル — スクリプトによるインストール
openclaw update
openclaw doctor

#OpenClawを正しくアンインストールする

完全なアンインストールでは、三つの要素を削除します。コンテナとイメージ、ディスク上のデータ、そしてアシスタントに与えていたアクセス権です。三つ目は忘れられがちです。

Terminal — 1. コンテナとイメージ
cd openclaw
docker compose down

# Supprimer l'image utilisée (l'une ou l'autre selon votre cas)
docker image rm openclaw:local
docker image rm ghcr.io/openclaw/openclaw:latest

# Vérifier qu'il ne reste ni conteneur ni volume
docker ps -a --filter name=openclaw
docker volume ls --filter name=openclaw

~/.openclawフォルダには、設定、APIキー、メッセージングのセッション、アシスタントのメモリが保存されています。削除すると元に戻せません。いつか再び使うつもりがある場合や、アシスタントが記録した内容を読み返したい場合は、アーカイブを残してください。一方、クローンしたリポジトリには、.envファイルとそのトークンが含まれています。

ターミナル — 2. データ(不可逆)
rm -rf ~/.openclaw

# Le dépôt cloné, avec son fichier .env
cd ..
rm -rf openclaw
APIキー
OpenClaw に渡したキーを、モデル提供元の側で失効させてください。ローカルのファイルを削除しても、そのキーは無効になりません。
Telegram ボットまたは Discord ボット
サービスの管理ツールから、ボットのトークンを失効させるか、ボットを削除してください(Telegram では BotFather、Discord では開発者ポータル)。
WhatsApp
アプリで接続済みデバイスの一覧を開き、ゲートウェイに対応するデバイスの接続を解除してください。
ネットワークアクセス
今回のために作成したファイアウォールルールやトンネルを削除するか、追加したマシンをVPNから外してください。この用途だけのために借りたVPSであれば、サーバーの契約を解約してください。

スクリプト方式では、組み込みのアンインストールコマンドがサービスを削除し、データも削除するかどうかを確認します。その後、コマンド自体は別途削除する必要があります。

ターミナル — スクリプトによるインストール
openclaw uninstall
npm rm -g openclaw

#トラブルシューティング:よくある問題

「unauthorized」または「pairing required (1008)」
ブラウザはまだゲートウェイに承認されていません。アクセスリンクを再表示し、以下のコマンドでデバイスを一覧表示して承認してください。このケースはDocker環境やトンネル経由の接続でよく起こります。接続元がコンテナのローカルアドレスではないためです。
ビルド中断、コード137
メモリ不足のため、システムがコンパイルを強制終了しました。OPENCLAW_IMAGEを使って公開済みのイメージに切り替えるか、RAMを少なくとも2 GB搭載したマシンを使用してください。
/home/node/.openclawへのアクセスが拒否されました
このイメージは、IDが1000のユーザー node として実行されます。ホストからマウントするディレクトリは、このユーザーが所有している必要があります:sudo chown -R 1000:1000 ~/.openclaw。
ポート18789が既に使用されています
別のサービス、または以前にインストールしたOpenClawがポートを使用しています。そのサービスを停止するか、.envファイル内のOPENCLAW_GATEWAY_PORTを変更してから、コンテナを再作成してください。
docker compose introuvable
古いdocker-composeバイナリを使っているか、Composeプラグインがインストールされていません。お使いのディストリビューションのCompose v2プラグインをインストールしてください。
ローカルモデルに接続できません
コンテナ内では、localhostはホストではなくコンテナ自身を指します。そのため、ホスト側でhttp://localhost:11434で待ち受けているOllamaには、そのままではゲートウェイからアクセスできません。この設定はモデルの接続に関するもので、このガイドの範囲外です。
ターミナル — ブラウザを承認
docker compose run --rm openclaw-cli dashboard --no-open
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>

上記のどれにも当てはまらない場合は、まずサービスのログを確認するのが最善です。その次にdoctorコマンドを実行してください。ほかで解決策を探す前に、見つけた回答の日付を確認してください。ClawdbotやMoltbotに言及している回答は、古いコマンドについて説明しています。

#手元に置いておきたい公式情報源

このガイドは独自のテストに基づいておらず、所要時間、測定値、数値による比較は一切掲載していません。コマンドはプロジェクトのドキュメントに沿っていますが、スクリプト名、変数、オンボーディングの手順など、ドキュメントの内容はバージョンによって変わります。このページとドキュメントの内容に食い違いがある場合は、ドキュメントを正としてください。

ドキュメント:Docker でのインストール
https://docs.openclaw.ai/install/docker
ドキュメント:更新
https://docs.openclaw.ai/install/updating
ドキュメント:アンインストール
https://docs.openclaw.ai/install/uninstall
ドキュメント:ゲートウェイのセキュリティ
https://docs.openclaw.ai/gateway/security
公式リポジトリとリリースノート
https://github.com/openclaw/openclaw/releases

#さらに詳しく

インストールは作業の前半にすぎません。エージェントには設定、監視、比較が必要です。本サイトの以下のガイドでは、ここで扱った概念をさらに掘り下げています。

OpenClaw:概要と導入の必要性
インストール前に判断するために、ゲートウェイの仕組み、用途、リスクを解説。https://quelllm.fr/guide/openclaw-c-est-quoi
Ollamaサーバーのセキュリティを強化する
ファイアウォール、ローカルでの待ち受け、リモートアクセス:外部に公開する範囲を最小限にするという同じ考え方を、モデルサーバーにも適用します。https://quelllm.fr/guide/securiser-serveur-ollama
Docker Composeでプロダクション環境にLLMをデプロイ
継続稼働するスタックのためのComposeファイル、再起動、ログ、バックアップ。https://quelllm.fr/guide/deployer-llm-docker-compose-production
Docker で Ollama をインストール
同じマシンまたは別のマシンで、モデルサーバーをコンテナ内で実行するためのガイドです。 https://quelllm.fr/guide/ollama-docker-installation-guide
DockerでOllamaと連携するAgent Zero
コンテナで提供される、別のセルフホスト型エージェントです。アプローチを比較するのに役立ちます。https://quelllm.fr/guide/agent-zero-ollama-docker
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。