Vai al contenuto principale

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Passaggi di runtime condivisi per installazioni Docker basate su VM, come GCP, Hetzner e provider VPS simili.

Integra i binari richiesti nell’immagine

Installare binari dentro un container in esecuzione è una trappola. Qualsiasi cosa installata a runtime andrà persa al riavvio. Tutti i binari esterni richiesti dalle skills devono essere installati al momento della build dell’immagine. Gli esempi sotto mostrano solo tre binari comuni:
  • gog (da gogcli) per l’accesso a Gmail
  • goplaces per Google Places
  • wacli per WhatsApp
Questi sono esempi, non un elenco completo. Puoi installare tutti i binari necessari usando lo stesso pattern. Se in seguito aggiungi nuove skills che dipendono da binari aggiuntivi, devi:
  1. Aggiornare il Dockerfile
  2. Ricostruire l’immagine
  3. Riavviare i container
Dockerfile di esempio
FROM node:24-bookworm

RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*

# Example binary 1: Gmail CLI (gogcli — installs as `gog`)
# Copy the current Linux asset URL from https://github.com/steipete/gogcli/releases
RUN curl -L https://github.com/steipete/gogcli/releases/latest/download/gogcli_linux_amd64.tar.gz \
  | tar -xzO gog > /usr/local/bin/gog; \
  chmod +x /usr/local/bin/gog

# Example binary 2: Google Places CLI
# Copy the current Linux asset URL from https://github.com/steipete/goplaces/releases
RUN curl -L https://github.com/steipete/goplaces/releases/latest/download/goplaces_linux_amd64.tar.gz \
  | tar -xzO goplaces > /usr/local/bin/goplaces; \
  chmod +x /usr/local/bin/goplaces

# Example binary 3: WhatsApp CLI
# Copy the current Linux asset URL from https://github.com/steipete/wacli/releases
RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli-linux-amd64.tar.gz \
  | tar -xzO wacli > /usr/local/bin/wacli; \
  chmod +x /usr/local/bin/wacli

# Add more binaries below using the same pattern

WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
COPY ui/package.json ./ui/package.json
COPY scripts ./scripts

RUN corepack enable
RUN pnpm install --frozen-lockfile

COPY . .
RUN pnpm build
RUN pnpm ui:install
RUN pnpm ui:build

ENV NODE_ENV=production

CMD ["node","dist/index.js"]
Gli URL sopra sono esempi. Per VM basate su ARM, scegli gli asset arm64. Per build riproducibili, fissa URL di release con versione.

Build e avvio

docker compose build
docker compose up -d openclaw-gateway
Se la build fallisce con Killed o exit code 137 durante pnpm install --frozen-lockfile, la VM ha esaurito la memoria. Usa una classe di macchina più grande prima di riprovare. Verifica i binari:
docker compose exec openclaw-gateway which gog
docker compose exec openclaw-gateway which goplaces
docker compose exec openclaw-gateway which wacli
Output previsto:
/usr/local/bin/gog
/usr/local/bin/goplaces
/usr/local/bin/wacli
Verifica il Gateway:
docker compose logs -f openclaw-gateway
Output previsto:
[gateway] listening on ws://0.0.0.0:18789

Cosa persiste e dove

OpenClaw viene eseguito in Docker, ma Docker non è la fonte di verità. Tutto lo stato a lunga durata deve sopravvivere a riavvii, rebuild e reboot.
ComponentePosizioneMeccanismo di persistenzaNote
Configurazione Gateway/home/node/.openclaw/Mount di volume hostInclude openclaw.json, .env
Profili di autenticazione modello/home/node/.openclaw/agents/Mount di volume hostagents/<agentId>/agent/auth-profiles.json (OAuth, chiavi API)
Chiave profilo di autenticazione/home/node/.config/openclaw/Mount di volume hostChiave di crittografia locale per il materiale dei token del profilo di autenticazione OAuth
Configurazioni Skill/home/node/.openclaw/skills/Mount di volume hostStato a livello di Skill
Workspace agente/home/node/.openclaw/workspace/Mount di volume hostCodice e artefatti dell’agente
Sessione WhatsApp/home/node/.openclaw/Mount di volume hostPreserva il login QR
Keyring Gmail/home/node/.openclaw/Volume host + passwordRichiede GOG_KEYRING_PASSWORD
Pacchetti Plugin/home/node/.openclaw/npm, /home/node/.openclaw/gitMount di volume hostRoot dei pacchetti Plugin scaricabili
Binari esterni/usr/local/bin/Immagine DockerDevono essere integrati al momento della build
Runtime NodeFilesystem del containerImmagine DockerRicostruito a ogni build dell’immagine
Pacchetti del sistema operativoFilesystem del containerImmagine DockerNon installare a runtime
Container DockerEffimeroRiavviabileSicuro da eliminare

Aggiornamenti

Per aggiornare OpenClaw sulla VM:
git pull
docker compose build
docker compose up -d

Correlati