Hosting
Hetzner
Cel
Uruchom trwały OpenClaw Gateway na Hetzner VPS przy użyciu Docker, z trwałym stanem, wbudowanymi plikami binarnymi i bezpiecznym zachowaniem przy ponownym uruchamianiu.
Jeśli chcesz „OpenClaw 24/7 za około 5 USD”, to jest najprostsza niezawodna konfiguracja. Ceny Hetzner się zmieniają; wybierz najmniejszy Debian/Ubuntu VPS i zwiększ zasoby, jeśli napotkasz błędy OOM.
Przypomnienie modelu bezpieczeństwa:
- Agenci współdzieleni w firmie są w porządku, gdy wszyscy znajdują się w tej samej granicy zaufania, a runtime jest wyłącznie biznesowy.
- Zachowaj ścisłą separację: dedykowany VPS/runtime + dedykowane konta; bez osobistych profili Apple/Google/przeglądarki/menedżera haseł na tym hoście.
- Jeśli użytkownicy są wobec siebie adwersarialni, rozdziel ich według gateway/hosta/użytkownika OS.
Zobacz Bezpieczeństwo i Hosting VPS.
Co robimy (w prostych słowach)?
- Wynajmujemy mały serwer Linux (Hetzner VPS)
- Instalujemy Docker (izolowany runtime aplikacji)
- Uruchamiamy OpenClaw Gateway w Docker
- Utrwalamy
~/.openclaw+~/.openclaw/workspacena hoście (przetrwa ponowne uruchomienia/przebudowy) - Uzyskujemy dostęp do Control UI z laptopa przez tunel SSH
Ten zamontowany stan ~/.openclaw obejmuje openclaw.json, osobne dla agentów
agents/<agentId>/agent/auth-profiles.json oraz .env.
Do Gateway można uzyskać dostęp przez:
- przekierowanie portu SSH z laptopa
- bezpośrednie wystawienie portu, jeśli samodzielnie zarządzasz zaporą i tokenami
Ten przewodnik zakłada Ubuntu lub Debian na Hetzner.
Jeśli używasz innego Linux VPS, odpowiednio dopasuj pakiety.
Ogólny przepływ Docker znajdziesz w Docker.
Szybka ścieżka (doświadczeni operatorzy)
- Utwórz Hetzner VPS
- Zainstaluj Docker
- Sklonuj repozytorium OpenClaw
- Utwórz trwałe katalogi hosta
- Skonfiguruj
.envidocker-compose.yml - Wbuduj wymagane pliki binarne w obraz
docker compose up -d- Zweryfikuj trwałość i dostęp do Gateway
Czego potrzebujesz
- Hetzner VPS z dostępem root
- Dostęp SSH z laptopa
- Podstawowa swoboda w użyciu SSH + kopiuj/wklej
- Około 20 minut
- Docker i Docker Compose
- Dane uwierzytelniające modelu
- Opcjonalne dane uwierzytelniające dostawców
- kod QR WhatsApp
- token bota Telegram
- Gmail OAuth
Utwórz VPS
Utwórz Ubuntu lub Debian VPS w Hetzner.
Połącz się jako root:
ssh root@YOUR_VPS_IP
Ten przewodnik zakłada, że VPS jest stanowy. Nie traktuj go jako infrastruktury jednorazowej.
Zainstaluj Docker (na VPS)
apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh
Zweryfikuj:
docker --version
docker compose version
Sklonuj repozytorium OpenClaw
git clone https://github.com/openclaw/openclaw.git
cd openclaw
Ten przewodnik zakłada, że zbudujesz własny obraz, aby zagwarantować trwałość plików binarnych.
Utwórz trwałe katalogi hosta
Kontenery Docker są efemeryczne. Cały długotrwały stan musi znajdować się na hoście.
mkdir -p /root/.openclaw/workspace
# Set ownership to the container user (uid 1000):
chown -R 1000:1000 /root/.openclaw
Skonfiguruj zmienne środowiskowe
Utwórz .env w katalogu głównym repozytorium.
OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/root/.openclaw
OPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace
GOG_KEYRING_PASSWORD=
XDG_CONFIG_HOME=/home/node/.openclaw
Ustaw OPENCLAW_GATEWAY_TOKEN, gdy chcesz zarządzać stabilnym tokenem gateway
przez .env; w przeciwnym razie skonfiguruj gateway.auth.token przed
poleganiem na klientach między ponownymi uruchomieniami. Jeśli żadne z tych źródeł nie istnieje, OpenClaw używa
tokenu tylko dla runtime dla tego uruchomienia. Wygeneruj hasło keyring i wklej
je do GOG_KEYRING_PASSWORD:
openssl rand -hex 32
Nie commituj tego pliku.
Ten plik .env jest przeznaczony dla zmiennych środowiskowych kontenera/runtime, takich jak OPENCLAW_GATEWAY_TOKEN.
Zapisane uwierzytelnianie dostawców OAuth/kluczami API znajduje się w zamontowanym
~/.openclaw/agents/<agentId>/agent/auth-profiles.json.
Konfiguracja Docker Compose
Utwórz lub zaktualizuj docker-compose.yml.
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:
# Recommended: keep the Gateway loopback-only on the VPS; access via SSH tunnel.
# To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.
- "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND}",
"--port",
"${OPENCLAW_GATEWAY_PORT}",
"--allow-unconfigured",
]
--allow-unconfigured służy tylko wygodzie bootstrapu, nie zastępuje właściwej konfiguracji gateway. Nadal ustaw auth (gateway.auth.token lub hasło) i użyj bezpiecznych ustawień bind dla swojego wdrożenia.
Wspólne kroki runtime Docker VM
Użyj współdzielonego przewodnika runtime dla typowego przepływu hosta Docker:
Dostęp specyficzny dla Hetzner
Po wykonaniu wspólnych kroków budowania i uruchamiania dokończ poniższą konfigurację, aby otworzyć tunel:
Wymaganie wstępne: Upewnij się, że konfiguracja sshd na VPS pozwala na przekierowanie TCP. Jeśli
utwardziłeś konfigurację SSH, sprawdź /etc/ssh/sshd_config i ustaw:
AllowTcpForwarding local
local pozwala na lokalne przekierowania ssh -L z laptopa, jednocześnie blokując
zdalne przekierowania z serwera. Ustawienie na no spowoduje niepowodzenie tunelu
z komunikatem:
channel 3: open failed: administratively prohibited: open failed
Po potwierdzeniu, że przekierowanie TCP jest włączone, uruchom ponownie usługę SSH
(systemctl restart ssh) i uruchom tunel z laptopa:
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP
Otwórz:
http://127.0.0.1:18789/
Wklej skonfigurowany współdzielony sekret. Ten przewodnik domyślnie używa tokenu gateway; jeśli przełączyłeś się na uwierzytelnianie hasłem, użyj tego hasła.
Wspólna mapa trwałości znajduje się w Docker VM Runtime.
Infrastructure as Code (Terraform)
Dla zespołów preferujących przepływy infrastructure-as-code społecznościowo utrzymywana konfiguracja Terraform zapewnia:
- Modułową konfigurację Terraform ze zdalnym zarządzaniem stanem
- Automatyczne provisionowanie przez cloud-init
- Skrypty wdrożeniowe (bootstrap, deploy, backup/restore)
- Utwardzenie bezpieczeństwa (zapora, UFW, dostęp tylko przez SSH)
- Konfigurację tunelu SSH do dostępu do gateway
Repozytoria:
- Infrastruktura: openclaw-terraform-hetzner
- Konfiguracja Docker: openclaw-docker-config
To podejście uzupełnia powyższą konfigurację Docker o powtarzalne wdrożenia, infrastrukturę kontrolowaną wersjami i automatyczne odzyskiwanie po awarii.
Następne kroki
- Skonfiguruj kanały komunikacji: Kanały
- Skonfiguruj Gateway: Konfiguracja Gateway
- Aktualizuj OpenClaw: Aktualizowanie