OpenClawSkills
GitHub
プラットフォーム • 5分で読める

Hetzner

安価な Hetzner VPS (Docker) で 24/7 OpenClaw Gateway を実行(永続化状態と組み込みバイナリ)

Tutorial.step

Goal

Hetzner VPS で Docker を使用して永続的な OpenClaw Gateway を実行し、永続化された状態、組み込みバイナリ、安全な再起動動作を提供します。

"OpenClaw 24/7、約 $5" を希望する場合、これが最も簡単な信頼できる設定です。

Hetzner の価格は変動します。最小の Debian/Ubuntu VPS を選択し、OOM に遭遇した場合はスケールアップしてください。

Tutorial.step

何をしているのか(簡単な用語)?

- 小さな Linux サーバーをレンタルする(Hetzner VPS)

- Docker をインストールする(分離されたアプリランタイム)

- Docker で OpenClaw Gateway を起動する

- ホスト上で ''~/.openclaw'' + ''~/.openclaw/workspace'' を永続化する(再起動/再構築後に存続)

- SSH トンネル経由でラップトップからコントロール UI にアクセスする

Gateway は以下の方法でアクセスできます:

- ラップトップからの SSH ポートフォワーディング

- ファイアウォールとトークンを自分で管理する場合の直接ポート公開

このガイドでは Hetzner で Ubuntu または Debian を使用することを想定しています。

他の Linux VPS を使用している場合、パッケージを適切にマッピングしてください。

汎用の Docker フローについては、''Docker''を参照してください。

Tutorial.step

必要なもの

- root アクセス権のある Hetzner VPS

- ラップトップからの SSH アクセス

- SSH + コピー/貼り付けの基本的な操作

- ~20 minutes

- Docker と Docker Compose

- モデル認証情報

- オプションのプロバイダー認証情報

- WhatsApp QR

- Telegram ボットトークン

- Gmail OAuth

Tutorial.step

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

Bash
apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh

Verify:

Bash
docker --version
docker compose version
Tutorial.step

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

Docker コンテナは一時的です。

すべての長期間の状態はホスト上に存在する必要があります。

Bash
mkdir -p /root/.openclaw
mkdir -p /root/.openclaw/workspace

chown -R 1000:1000 /root/.openclaw
chown -R 1000:1000 /root/.openclaw/workspace
Tutorial.step

6) Docker Compose configuration

''docker-compose.yml'' を作成または更新します。

Yaml
services:
  openclaw-gateway:
    image: ${OPENCLAW_IMAGE}
    build: .
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - HOME=/home/node
      - NODE_ENV=production
      - TERM=xterm-256color
      - OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND}
      - OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT}
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
      - XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
      - PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    volumes:
      - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
      - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
    ports:
      # 推奨:VPS 上で Gateway をループバックのみにし、SSH トンネル経由でアクセスします。
      # 公開するには、`127.0.0.1:` プレフィックスを削除し、ファイアウォールを適切に設定します。
      - "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"

      # オプション:この VPS に対して iOS/Android ノードを実行し、Canvas ホストが必要な場合のみ。
      # 公開する場合は、/gateway/security を読み、ファイアウォールを適切に設定します。
      # - "18793:18793"
    command:
      [
        "node",
        "dist/index.js",
        "gateway",
        "--bind",
        "${OPENCLAW_GATEWAY_BIND}",
        "--port",
        "${OPENCLAW_GATEWAY_PORT}",
      ]
Tutorial.step

8) ビルドと起動

Bash
docker compose build
docker compose up -d openclaw-gateway

バイナリを検証します:

Bash
docker compose exec openclaw-gateway which gog
docker compose exec openclaw-gateway which goplaces
docker compose exec openclaw-gateway which wacli

期待される出力:

ターミナル
/usr/local/bin/gog
/usr/local/bin/goplaces
/usr/local/bin/wacli
Tutorial.step

何がどこで永続化されるか(真実の情報源)

OpenClaw は Docker で実行されますが、Docker は真実の情報源ではありません。

すべての長期間の状態は、再起動、再構築、再起動後に存続する必要があります。

| コンポーネント | 位置 | 永続化メカニズム | 備考 |

| Gateway 設定 | ''/home/node/.openclaw/'' | ホストボリュームマウント | ''openclaw.json''、トークンを含む |

| モデル認証プロファイル | ''/home/node/.openclaw/'' | ホストボリュームマウント | OAuth トークン、API キー |

| スキル設定 | ''/home/node/.openclaw/skills/'' | ホストボリュームマウント | スキルレベルの状態 |

| エージェントワークスペース | ''/home/node/.openclaw/workspace/'' | ホストボリュームマウント | コードとエージェントアーティファクト |

| WhatsApp セッション | ''/home/node/.openclaw/'' | ホストボリュームマウント | QR ログインを保存 |

| Gmail キーリング | ''/home/node/.openclaw/'' | ホストボリューム + パスワード | ''GOG_KEYRING_PASSWORD'' が必要 |

| 外部バイナリ | ''/usr/local/bin/'' | Docker イメージ | ビルド時に焼き込む必要 |

| Node ランタイム | コンテナファイルシステム | Docker イメージ | イメージビルドごとに再構築 |

| OS パッケージ | コンテナファイルシステム | Docker イメージ | 実行時にインストールしない |

| Docker コンテナ | 一時的 | 再起動可能 | 安全に破棄可能 |