guide docker deployment security

Exécuter OpenClaw dans Docker : guide de déploiement pas à pas

OpenClaws.io Team

OpenClaws.io Team

@openclaws

March 6, 2026

6 min de lecture

Exécuter OpenClaw dans Docker : guide de déploiement pas à pas

Pourquoi Docker ?

Exécuter OpenClaw dans Docker offre trois avantages clés par rapport à une installation sur machine nue :

  1. 1.Isolation de sécurité : L'agent fonctionne à l'intérieur d'un conteneur avec un accès limité à votre système hôte. Si une compétence malveillante ou une injection de prompt tente d'accéder à vos fichiers, la frontière du conteneur limite le rayon d'impact.
  2. 2.Reproductibilité : La même image Docker fonctionne de manière identique sur n'importe quelle machine — votre ordinateur portable, un VPS ou un Raspberry Pi.
  3. 3.Nettoyage facile : Vous voulez repartir de zéro ? Supprimez le conteneur et créez-en un nouveau. Aucun fichier résiduel, aucune installation Node.js cassée.

Prérequis

  • Docker Desktop (macOS/Windows) ou Docker Engine (Linux)
  • Docker Compose v2 (inclus avec Docker Desktop)
  • Au moins 2 Go de RAM disponibles pour le conteneur
  • Une clé API IA (Anthropic, OpenAI ou autre fournisseur pris en charge)

Démarrage rapide

Option A : Docker Compose officiel (recommandé)

Clonez le dépôt OpenClaw et utilisez la configuration Docker intégrée :

bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw

Exécutez le script de configuration, qui crée les répertoires et la configuration nécessaires :

bash
bash docker-setup.sh
  • ~/.openclaw/ — configuration, SOUL.md, clés API
  • ~/openclaw/workspace/ — fichiers accessibles à l'agent

Exécutez l'assistant de configuration à l'intérieur du conteneur :

bash
docker compose run --rm openclaw-cli onboard

Suivez les instructions pour configurer votre clé API et connecter une plateforme de messagerie. Puis démarrez la passerelle :

bash
docker compose up -d openclaw-gateway

Votre agent fonctionne désormais en arrière-plan.

Option B : Image pré-construite

Si vous ne souhaitez pas cloner le dépôt, utilisez l'image officielle pré-construite :

bash
docker run -d \
  --name openclaw \
  --restart unless-stopped \
  -v ~/.openclaw:/root/.openclaw \
  -v ~/openclaw/workspace:/root/workspace \
  -p 3000:3000 \
  ghcr.io/openclaw/openclaw:latest

Référence Docker Compose

Voici un docker-compose.yml annoté pour un usage en production :

yaml
version: "3.8"
services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    ports:
      - "3000:3000"        # Web UI
    volumes:
      - ~/.openclaw:/root/.openclaw          # Config and data
      - ~/openclaw/workspace:/root/workspace  # Agent workspace
    environment:
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - TZ=Asia/Shanghai     # Set your timezone
    mem_limit: 2g            # Prevent runaway memory usage
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

Créez un fichier .env dans le même répertoire avec vos clés API :

bash
ANTHROPIC_API_KEY=sk-ant-xxxxx
OPENAI_API_KEY=sk-xxxxx

Variables d'environnement

VariableRequiseDescription
ANTHROPIC_API_KEYOui*Clé API Claude
OPENAI_API_KEYNonClé API GPT (si vous utilisez OpenAI)
OPENCLAW_PORTNonPort de l'interface web (par défaut : 3000)
OPENCLAW_HOMENonRépertoire de données dans le conteneur
TZNonFuseau horaire pour les tâches planifiées

*Au moins une clé de fournisseur IA est requise.

Gérer votre conteneur

bash
# View logs
docker logs -f openclaw

# Stop the agent
docker compose stop

# Start the agent
docker compose up -d

# Restart after config changes
docker compose restart

# Update to latest version
docker compose pull
docker compose up -d

# Enter the container shell
docker exec -it openclaw bash

# Run CLI commands inside container
docker exec openclaw openclaw skill list
docker exec openclaw openclaw status

Renforcement de la sécurité

Limiter l'accès au système de fichiers

Montez uniquement les répertoires dont votre agent a réellement besoin. Évitez de monter votre répertoire personnel entier :

yaml
volumes:
  - ~/.openclaw:/root/.openclaw:rw     # Config (read-write)
  - ~/documents:/root/docs:ro           # Documents (read-only)

Isolation réseau

Si votre agent n'a pas besoin d'accéder aux services du réseau local, restreignez son réseau :

yaml
networks:
  openclaw-net:
    driver: bridge
    internal: false    # Set to true to block all external access

Système de fichiers racine en lecture seule

Pour une sécurité maximale, rendez le système de fichiers racine en lecture seule et n'autorisez les écritures que sur des chemins spécifiques :

yaml
read_only: true
tmpfs:
  - /tmp
  - /run

Mise à jour

OpenClaw publie fréquemment de nouvelles versions. Pour mettre à jour votre déploiement Docker :

bash
docker compose pull           # Pull latest image
docker compose up -d          # Recreate container with new image
docker image prune -f         # Clean up old images

Votre configuration et vos données persistent dans les volumes montés, les mises à jour sont donc non destructives.

Dépannage

Le conteneur plante immédiatement : Vérifiez les journaux avec docker logs openclaw. Causes courantes : clés API manquantes, mémoire insuffisante ou conflits de port.

Le code QR WhatsApp ne s'affiche pas : Lancez l'intégration en mode interactif : docker compose run --rm openclaw-cli onboard. Le code QR nécessite un terminal qui prend en charge le rendu.

Erreurs de permission sur les volumes montés : Assurez-vous que les répertoires hôtes existent et appartiennent à votre utilisateur : mkdir -p ~/.openclaw ~/openclaw/workspace.

Utilisation mémoire élevée : Définissez mem_limit: 2g dans docker-compose.yml pour empêcher le conteneur de consommer trop de RAM.

Pour plus de détails, consultez la documentation officielle Docker et le docker-compose.yml dans le dépôt.

Reste informé

Reçois les news sur les nouvelles fonctionnalités et intégrations. Pas de spam, désinscription à tout moment.