Esegui OpenClaw in Docker
Esegui il gateway e la CLI come servizi Docker Compose, compilati dal sorgente o scaricati come immagine precompilata ghcr.io/openclaw/openclaw.
Servono Git e Docker con Compose. Per creare l'immagine in locale sono necessari almeno 6 GB di RAM, quindi usa l'immagine precompilata su un host con meno memoria.
Clona il repository ed esegui la configurazione
Lo script di configurazione nel repository prepara i servizi Compose. Per saltare la compilazione locale, esporta OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest prima di eseguirlo. È disponibile anche un'immagine mirror su Docker Hub, con il nome openclaw/openclaw.
shell git clone https://github.com/openclaw/openclaw.git cd openclaw ./scripts/docker/setup.shApri la dashboard
Questo comando avvia una volta il container CLI per il comando della dashboard; --no-open impedisce di provare ad avviare un browser all'interno del container. Anche gli altri comandi CLI funzionano allo stesso modo, ad esempio docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>".
shell docker compose run --rm openclaw-cli dashboard --no-openRendi persistenti i dati e dimensiona l'host
Conserva lo stato di OpenClaw, cioè openclaw.json e lo spazio di lavoro dell'agente, in un volume denominato o in un bind mount, così da mantenerlo dopo la ricompilazione e gli aggiornamenti dei container. Se crei tu l'immagine, prevedi almeno 6 GB di RAM; con l'immagine precompilata e i modelli cloud, il gateway funziona con 1 GB. All'interno di un container, gateway.bind auto viene risolto in 0.0.0.0: mantieni attiva l'autenticazione tramite token.
Aggiorna i container
Scarica le nuove immagini sia per il gateway sia per il servizio CLI, quindi ricrea solo il gateway. La configurazione e lo spazio di lavoro restano nel volume.
shell docker compose pull openclaw-gateway openclaw-cli docker compose up -d openclaw-gateway
Poiché il gateway è in ascolto su 0.0.0.0 all'interno del container, una mappatura delle porte come 18789:18789 lo espone su tutte le interfacce dell'host. Usa invece 127.0.0.1:18789:18789.