Zpět na domů

Průvodce instalací OpenClaw AI na VPS

Průvodce nasazením OpenClaw AI agenta na VPS s docker-compose a bash skripty. Agent spravuje kontejnery, PostgreSQL, monitoruje weby přes Telegram. Kompletní architektura, příklady kódu, nastavení kontextu.

OpenClaw na VPS: AI agent pro DevOps v Telegramu
Advertisement 728x90

Nasazení AI agenta OpenClaw na VPS: Podrobný průvodce se skripty

OpenClaw je open-source AI agent pro správu VPS přes Telegram. Kompletní stack: docker-compose, bash skripty nástrojů, konfigurační soubory kontextu. Naklonujte repozitář, nastavte .env s API klíči, spusťte deploy.sh – systém je připravený za 10 minut. Agent monitoruje kontejnery, provádí SQL dotazy, restartuje služby, kontroluje heartbeat.

Architektura systému

OpenClaw běží v Docker kontejneru ghcr.io/openclaw/openclaw s montováním /var/run/docker.sock, /var/www/projects a /var/log/nginx. Kontext z workspace/SOUL.md určuje chování: seznam PostgreSQL kontejnerů, tabulka projektů, bezpečnostní pravidla.

Skripty v /tools/ se volají na požádání:

Google AdInline article slot
  • docker-status.sh, docker-logs.sh, docker-restart.sh
  • db-discover.sh, db-query.sh pro PostgreSQL
  • health-check.sh pro HTTP monitoring webů
  • system-stats.sh, security-check.sh

Agent zpracovává přirozený jazyk: „logy auth služby“ → docker-logs.sh auth-container.

Minimální požadavky

  • Ubuntu 20.04+ nebo Linux s Docker Compose V2 (docker compose version)
  • 2 GB RAM (agent ~300–500 MB)
  • OpenRouter API klíč (openrouter.ai/keys) pro modely GPT-4o, Claude
  • Telegram bot token od @BotFather

Krok 1: Příprava repozitáře

ssh user@your-server
git clone https://github.com/ShyDamn/openclaw-devops-kit.git /tmp/openclaw-setup
cd /tmp/openclaw-setup

Struktura:

openclaw-devops-kit/
├── docker-compose.yml
├── .env.example
├── deploy.sh
├── config/openclaw.json
├── workspace/SOUL.md, USER.md, HEARTBEAT.md
└── tools/ (14 skriptů: docker-*.sh, db-*.sh, health-check.sh a další)

Krok 2: Telegram bot a .env

  • @BotFather → /newbot → token 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
  • @userinfobot → váš ID 778921250
cp .env.example .env
nano .env
TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxx
YOUTRACK_TOKEN=perm:your-token-here  # volitelně

V config/openclaw.json:

Google AdInline article slot
"allowFrom": [
  "tg:778921250"
]

Krok 3: Nastavení kontextu v workspace/

SOUL.md — jádro chování

Zadejte PostgreSQL kontejnery a projekty:

## Kontejnery PostgreSQL: db1, db2, db3

| Cesta | Projekt | Stack |
|-------|---------|-------|
| /projects/my-app/ | SaaS | Next.js + PostgreSQL |
| /projects/api/ | Backend | NestJS |

Pravidla: čtení bez potvrzení, úpravy s dvojitou kontrolou.

USER.md — váš profil

Časové pásmo, technologický stack, klíčové projekty.

Google AdInline article slot

HEARTBEAT.md — hodinový checklist

Monitoring zdrojů, stav kontejnerů, HTTP weby.

Krok 4: Monitoring webů

V tools/health-check.sh:

SITES=(
  "mysite.cz|mysite-frontend|mysite"
  "api.mysite.cz|mysite-api|mysite"
)

Formát: doména|kontejner|projekt. Při 5xx/timeout – auto restart, notifikace při selhání.

Krok 5: Nasazení a spuštění

bash deploy.sh

Automatika:

  • Kontrola Docker Compose V2
  • Vytvoření /var/www/openclaw/
  • Nastavení práv na .env (chmod 600)
  • Stažení image
  • Spuštění kontejneru

Připojení Telegramu:

cd /var/www/openclaw
docker compose run --rm --profile cli openclaw-cli pairing approve telegram <KÓD>

Analýza klíčových skriptů

docker-logs.sh

#!/bin/bash
CONTAINER="${1:?Usage: docker-logs.sh <container_name> [lines]}"
LINES="${2:-50}"
docker logs --tail "$LINES" "$CONTAINER" 2>&1

Automatické určení kontejneru z SOUL.md.

system-stats.sh

#!/bin/bash
echo "=== RAM ==="
free -h
echo ""
echo "=== DISK ==="
df -h / | tail -1
# ... CPU, docker stats

Komplexní výstup pro heartbeat.

db-discover.sh — hledání databází

#!/bin/bash
for c in $(docker ps --format '{{.Names}}' | grep -i postgres); do
  echo "=== $c ==="
  DB_USER=$(docker exec "$c" printenv POSTGRES_USER 2>/dev/null)
  # ...
  docker exec "$c" psql -U "$DB_USER" -d "$DB_NAME" -c "\dt"
done

Automatické nalezení všech PostgreSQL, extrakce POSTGRES_USER/POSTGRES_DB, seznam tabulek.

db-query.sh

Provádění SQL s parametry kontejneru.

Co je důležité

  • Kontext v SOUL.md je klíčový: bez tabulky projektů a kontejnerů agent ptá se na detaily.
  • Whitelist v openclaw.json: přístup pouze podle Telegram ID, vylučuje úniky.
  • Health-check.sh s auto restertem: 5xx → restart → kontrola → notifikace.
  • MIT licence: plná kontrola nad skripty a konfiguracemi.
  • OpenRouter: rotace modelů (GPT-4o, Claude) při selháních, jednotný API.

— Editorial Team

Advertisement 728x90

Číst dál