Passer au contenu principal

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.

Étapes d’exécution partagées pour les installations Docker basées sur des VM, comme GCP, Hetzner et les fournisseurs de VPS similaires.

Intégrer les binaires requis dans l’image

Installer des binaires dans un conteneur en cours d’exécution est un piège. Tout ce qui est installé à l’exécution sera perdu au redémarrage. Tous les binaires externes requis par les Skills doivent être installés au moment de la construction de l’image. Les exemples ci-dessous ne montrent que trois binaires courants :
  • gog (depuis gogcli) pour l’accès à Gmail
  • goplaces pour Google Places
  • wacli pour WhatsApp
Ce sont des exemples, pas une liste complète. Vous pouvez installer autant de binaires que nécessaire en utilisant le même modèle. Si vous ajoutez plus tard de nouvelles Skills qui dépendent de binaires supplémentaires, vous devez :
  1. Mettre à jour le Dockerfile
  2. Reconstruire l’image
  3. Redémarrer les conteneurs
Exemple de Dockerfile
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"]
Les URL ci-dessus sont des exemples. Pour les VM basées sur ARM, choisissez les ressources arm64. Pour des constructions reproductibles, épinglez des URL de publication versionnées.

Construire et lancer

docker compose build
docker compose up -d openclaw-gateway
Si la construction échoue avec Killed ou exit code 137 pendant pnpm install --frozen-lockfile, la VM manque de mémoire. Utilisez une classe de machine plus grande avant de réessayer. Vérifier les binaires :
docker compose exec openclaw-gateway which gog
docker compose exec openclaw-gateway which goplaces
docker compose exec openclaw-gateway which wacli
Sortie attendue :
/usr/local/bin/gog
/usr/local/bin/goplaces
/usr/local/bin/wacli
Vérifier le Gateway :
docker compose logs -f openclaw-gateway
Sortie attendue :
[gateway] listening on ws://0.0.0.0:18789

Ce qui persiste, et où

OpenClaw s’exécute dans Docker, mais Docker n’est pas la source de vérité. Tout état durable doit survivre aux redémarrages, reconstructions et redémarrages système.
ComposantEmplacementMécanisme de persistanceNotes
Configuration du Gateway/home/node/.openclaw/Montage de volume hôteInclut openclaw.json, .env
Profils d’authentification des modèles/home/node/.openclaw/agents/Montage de volume hôteagents/<agentId>/agent/auth-profiles.json (OAuth, clés API)
Clé de profil d’authentification/home/node/.config/openclaw/Montage de volume hôteClé de chiffrement locale pour le matériel de jeton du profil d’authentification OAuth
Configurations des Skills/home/node/.openclaw/skills/Montage de volume hôteÉtat au niveau des Skills
Espace de travail de l’agent/home/node/.openclaw/workspace/Montage de volume hôteCode et artefacts d’agent
Session WhatsApp/home/node/.openclaw/Montage de volume hôtePréserve la connexion par QR code
Trousseau Gmail/home/node/.openclaw/Volume hôte + mot de passeNécessite GOG_KEYRING_PASSWORD
Paquets de Plugin/home/node/.openclaw/npm, /home/node/.openclaw/gitMontage de volume hôteRacines des paquets de Plugin téléchargeables
Binaires externes/usr/local/bin/Image DockerDoivent être intégrés au moment de la construction
Runtime NodeSystème de fichiers du conteneurImage DockerReconstruit à chaque construction d’image
Paquets du système d’exploitationSystème de fichiers du conteneurImage DockerNe pas installer à l’exécution
Conteneur DockerÉphémèreRedémarrablePeut être détruit sans risque

Mises à jour

Pour mettre à jour OpenClaw sur la VM :
git pull
docker compose build
docker compose up -d

Connexe