Self-hosting your own AI agent is the ultimate power move in 2026. While Clawdbot can run on bare metal, running it in Docker is the gold standard for stability, ease of updates, and security.
In this guide, we will set up a production-ready Clawdbot instance using docker-compose.

Why Docker?
- Isolation: No messing up your system's Node.js versions.
- One-Click Updates: Just
docker-compose pullto get the latest features. - Portability: Move your agent from your Mac Mini to a VPS in seconds.
Prerequisites
- A machine running Linux (Ubuntu/Debian recommended) or macOS.
- Docker and Docker Compose installed (
docker -vto check). - An API Key (Anthropic or OpenAI).
Step 1: Create Your Workspace
Open your terminal and create a directory for your agent. This is where your agent's "brain" (memory) will live.
mkdir -p ~/clawdbot-docker
cd ~/clawdbot-dockerStep 2: The Magic docker-compose.yml
Create a file named docker-compose.yml and paste the following configuration. This setup ensures your agent's memory persists even if you restart the container.
version: '3.8'
services:
clawdbot:
image: clawdbot/core:latest
container_name: clawdbot_agent
restart: unless-stopped
# Environment variables for configuration
environment:
- ANTHROPIC_API_KEY=sk-your-key-here
- LOG_LEVEL=info
# Optional: Connect to Telegram
- TELEGRAM_BOT_TOKEN=your-telegram-token
# Persist data to local folder
volumes:
- ./data:/app/data
- ./config:/app/config
# Network mode (host required for some local network scanning features)
network_mode: "host" Pro Tip: Replace
sk-your-key-herewith your actual API key. For security, you can also use a.envfile, but putting it directly here is the fastest way to start.
Step 3: Spin It Up!
Now, launch your agent in "detached" mode (running in the background):
docker-compose up -dYou should see output like Creating clawdbot_agent ... done.
Step 4: Verify It Works
Check the logs to make sure Clawdbot is awake and listening:
docker logs -f clawdbot_agentYou should see a message like:
[System] Clawdbot v1.2.0 initialized. Listening on port 3000...
Troubleshooting (Common Issues)
1. "Permission Denied" Errors
If Docker complains about permissions, you might need to run the command with sudo or add your user to the docker group.
2. API Key Errors Double-check you copied the key correctly. If using Anthropic, ensure you have enabled "pre-paid credits" as free tiers often expire.
3. Data Persistence
If your agent "forgets" things after a restart, ensure the ./data volume mapping in the YAML file is correct. All memories are stored in SQLite files within that folder.
Next Steps
Now that your agent is alive inside Docker, it's time to give it tools! In our next guide, we will cover "How to Connect Clawdbot to Obsidian for Automated Note Taking".
