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_IPTen przewodnik zakłada, że VPS jest stanowy. Nie traktuj go jako infrastruktury jednorazowej.
Zainstaluj Docker (na VPS)
apt-get updateapt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | shZweryfikuj:
docker --versiondocker compose versionSklonuj repozytorium OpenClaw
git clone https://github.com/openclaw/openclaw.gitcd openclawTen 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/.openclawSkonfiguruj zmienne środowiskowe
Utwórz .env w katalogu głównym repozytorium.
OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/root/.openclawOPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace GOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclawUstaw 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 32Nie 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 locallocal 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_IPOtwó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