Skip to main content

Hetzner 上の OpenClaw(Docker、本番 VPS ガイド)

目的

Docker を使用して Hetzner VPS 上で永続的な OpenClaw Gateway(ゲートウェイ)を実行し、耐久性のある状態、組み込み済みバイナリ、安全な再起動挙動を実現します。 「OpenClaw 24/7 for ~5」を使用する場合は、最も簡単な信頼性の高いセットアップです。「約5」を使用する場合は、最も簡単な信頼性の高いセットアップです。 「約 5 で OpenClaw を 24/7 稼働」したい場合、これが最もシンプルで信頼性の高い構成です。
Hetzner の料金は変更されるため、最小の Debian/Ubuntu VPS を選び、OOM が発生したらスケールアップしてください。 「約 $5 で OpenClaw を 24/7 稼働」したい場合、これが最もシンプルで信頼性の高い構成です。
Hetzner の料金は変更されるため、最小の Debian/Ubuntu VPS を選び、OOM が発生したらスケールアップしてください。

何をするのか(簡単に)

  • 小さな Linux サーバー(Hetzner VPS)を借ります
  • Docker(分離されたアプリ実行環境)をインストールします
  • Docker で OpenClaw Gateway(ゲートウェイ)を起動します
  • ホスト上で ~/.openclaw~/.openclaw/workspace を永続化します(再起動や再ビルド後も維持)
  • SSH トンネル経由でノート PC から Control UI にアクセスします
Gateway(ゲートウェイ)へのアクセス方法:
  • ノート PC からの SSH ポートフォワーディング
  • ファイアウォールやトークン管理を自分で行う場合の直接ポート公開
このガイドでは、Hetzner 上の Ubuntu または Debian を想定しています。
別の Linux VPSを使用している場合は、それに応じてパッケージをマップします。 このガイドでは、GCP Compute Engine 上の Debian を使用します。
Ubuntu でも動作しますが、パッケージを適宜読み替えてください。
汎用的な Docker フローについては、Docker を参照してください。

クイックパス(経験者向け)

  1. Hetzner VPS をプロビジョニング
  2. Docker をインストール
  3. OpenClaw リポジトリをクローン
  4. 永続的なホストディレクトリを作成
  5. .envdocker-compose.yml を設定
  6. 必要なバイナリをイメージに組み込み
  7. docker compose up -d
  8. 永続化と Gateway(ゲートウェイ)へのアクセスを確認

必要なもの

  • root 権限付きの Hetzner VPS
  • ノート PC からの SSH アクセス
  • SSH とコピペの基本的な操作
  • 約 20 分
  • Docker と Docker Compose
  • モデルの認証情報
  • 任意のプロバイダー認証情報
    • WhatsApp QR
    • Telegram ボットトークン
    • Gmail OAuth

1. VPS をプロビジョニング

Hetzner で Ubuntu または Debian の VPS を作成します。 root として接続します:
このガイドでは、VPS はステートフルであることを前提としています。
使い捨てのインフラとして扱わないでください。 使い捨てのインフラとして扱わないでください。 使い捨てのインフラとして扱わないでください。

2. Docker をインストール(VPS 上)

確認します:

3. OpenClaw リポジトリをクローン

このガイドでは、バイナリの永続性を保証するためにカスタムイメージをビルドすることを前提としています。

4. 永続的なホストディレクトリを作成

Dockerコンテナは一時的です。 すべての長生きの状態は、ホスト上で生きなければなりません。

5. 環境変数を設定

リポジトリのルートに .env を作成します。
強力なシークレットを生成します:
このファイルはコミットしないでください。

6. Docker Compose 設定

docker-compose.yml を作成または更新します。
--allow-unconfigured はブートストラップの利便性のためだけのものであり、適切なゲートウェイ設定の代替にはなりません。 引き続き認証(gateway.auth.token またはパスワード)を設定し、デプロイメントに適した安全なバインド設定を使用してください。

7. 必要なバイナリをイメージに組み込む(重要)

実行中のコンテナ内にバイナリをインストールすることは罠です。 実行時にインストールされたものは、再起動時に失われます。 Skills に必要な外部バイナリは、すべてイメージのビルド時にインストールする必要があります。 以下の例では、一般的な 3 つのバイナリのみを示しています:
  • Gmail アクセス用の gog
  • Google Places 用の goplaces
  • WhatsApp 用の wacli
これらは、完全なリストではない例です。 同じパターンを使用して、必要に応じて多くのバイナリをインストールできます。 後から追加のバイナリに依存する Skills を追加した場合は、次を行う必要があります:
  1. Dockerfile を更新
  2. イメージを再ビルド
  3. コンテナを再起動
Dockerfile の例

8. ビルドと起動

バイナリを確認します:
期待される出力:

9. Gateway(ゲートウェイ)を確認

成功時:
ノート PC から:
開きます: http://127.0.0.1:18789/ Gateway トークンを貼り付けてください。

何がどこに永続化されるか(正本)

OpenClaw は Docker 上で動作しますが、Docker は正本ではありません。
すべての長期的な状態は、再起動、再ビルド、再起動(リブート)後も維持される必要があります。 すべての長寿命の状態は、再起動、再構築、再起動、および再起動を生き残らなければなりません。

Infrastructure as Code(Terraform)

インフラをコードとして管理するワークフローを好むチーム向けに、コミュニティ管理のTerraformセットアップが以下を提供します:
  • リモートステート管理を備えたモジュール型Terraform構成
  • cloud-initによる自動プロビジョニング
  • デプロイスクリプト(bootstrap、deploy、backup/restore)
  • セキュリティ強化(ファイアウォール、UFW、SSHのみのアクセス)
  • gatewayアクセス用のSSHトンネル設定
リポジトリ:
  • インフラストラクチャ: openclaw-terraform-hetzner
  • OpenClaw は Docker 上で動作しますが、Docker は正本ではありません。
    すべての長期的な状態は、再起動、再ビルド、再起動(リブート)後も維持される必要があります。 すべての長寿命の状態は、再起動、再構築、再起動、および再起動を生き残らなければなりません。
このアプローチは、再現可能なデプロイ、バージョン管理されたインフラストラクチャ、自動化された災害復旧により、上記のDockerセットアップを補完します。
注: コミュニティによって管理されています。 問題の報告やコントリビューションについては、上記のリポジトリリンクを参照してください。