Skip to content

Docker Deployment

Docker provides the easiest way to deploy Clawdbot with consistent environments and simple updates.

Terminal window
# Pull and run
docker run -d \
--name clawdbot \
-e ANTHROPIC_API_KEY=your_key \
-e TELEGRAM_BOT_TOKEN=your_token \
ghcr.io/polvoazul/clawdbot:latest

Create docker-compose.yml:

version: '3.8'
services:
clawdbot:
image: ghcr.io/polvoazul/clawdbot:latest
container_name: clawdbot
restart: unless-stopped
env_file:
- .env
volumes:
- ./data:/app/data
- ./config:/app/config
ports:
- "8080:8080" # If using webhooks

Start:

Terminal window
docker-compose up -d

Create .env file:

Terminal window
ANTHROPIC_API_KEY=sk-ant-xxxxx
TELEGRAM_ENABLED=true
TELEGRAM_BOT_TOKEN=xxxxx
LOG_LEVEL=INFO
MountPurpose
/app/dataPersistent data (sessions, etc.)
/app/configConfiguration files
/app/logsLog files
FROM ghcr.io/polvoazul/clawdbot:latest
# Add custom plugins
COPY my-plugins/ /app/plugins/
# Custom configuration
COPY config.yaml /app/config/

Build:

Terminal window
docker build -t my-clawdbot .
Terminal window
# View logs
docker logs -f clawdbot
# Restart
docker restart clawdbot
# Update
docker pull ghcr.io/polvoazul/clawdbot:latest
docker-compose up -d
# Shell access
docker exec -it clawdbot /bin/bash

Images available for:

  • linux/amd64
  • linux/arm64 (Raspberry Pi 4, Apple Silicon)

Container exits immediately

Terminal window
docker logs clawdbot
# Check for configuration errors

Permission issues

Terminal window
# Fix volume permissions
sudo chown -R 1000:1000 ./data ./config

Network issues

Terminal window
# Verify DNS resolution
docker exec clawdbot ping api.anthropic.com