refactor: rename clawdbot to moltbot with legacy compat
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
---
|
||||
summary: "Optional Docker-based setup and onboarding for Clawdbot"
|
||||
summary: "Optional Docker-based setup and onboarding for Moltbot"
|
||||
read_when:
|
||||
- You want a containerized gateway instead of local installs
|
||||
- You are validating the Docker flow
|
||||
@@ -11,12 +11,12 @@ Docker is **optional**. Use it only if you want a containerized gateway or to va
|
||||
|
||||
## Is Docker right for me?
|
||||
|
||||
- **Yes**: you want an isolated, throwaway gateway environment or to run Clawdbot on a host without local installs.
|
||||
- **Yes**: you want an isolated, throwaway gateway environment or to run Moltbot on a host without local installs.
|
||||
- **No**: you’re running on your own machine and just want the fastest dev loop. Use the normal install flow instead.
|
||||
- **Sandboxing note**: agent sandboxing uses Docker too, but it does **not** require the full gateway to run in Docker. See [Sandboxing](/gateway/sandboxing).
|
||||
|
||||
This guide covers:
|
||||
- Containerized Gateway (full Clawdbot in Docker)
|
||||
- Containerized Gateway (full Moltbot in Docker)
|
||||
- Per-session Agent Sandbox (host gateway + Docker-isolated agent tools)
|
||||
|
||||
Sandboxing details: [Sandboxing](/gateway/sandboxing)
|
||||
@@ -61,9 +61,9 @@ Running on a VPS? See [Hetzner (Docker VPS)](/platforms/hetzner).
|
||||
### Manual flow (compose)
|
||||
|
||||
```bash
|
||||
docker build -t clawdbot:local -f Dockerfile .
|
||||
docker compose run --rm clawdbot-cli onboard
|
||||
docker compose up -d clawdbot-gateway
|
||||
docker build -t moltbot:local -f Dockerfile .
|
||||
docker compose run --rm moltbot-cli onboard
|
||||
docker compose up -d moltbot-gateway
|
||||
```
|
||||
|
||||
### Extra mounts (optional)
|
||||
@@ -71,7 +71,7 @@ docker compose up -d clawdbot-gateway
|
||||
If you want to mount additional host directories into the containers, set
|
||||
`CLAWDBOT_EXTRA_MOUNTS` before running `docker-setup.sh`. This accepts a
|
||||
comma-separated list of Docker bind mounts and applies them to both
|
||||
`clawdbot-gateway` and `clawdbot-cli` by generating `docker-compose.extra.yml`.
|
||||
`moltbot-gateway` and `moltbot-cli` by generating `docker-compose.extra.yml`.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -97,14 +97,14 @@ named volume here (not a bind path); for bind mounts, use
|
||||
Example:
|
||||
|
||||
```bash
|
||||
export CLAWDBOT_HOME_VOLUME="clawdbot_home"
|
||||
export CLAWDBOT_HOME_VOLUME="moltbot_home"
|
||||
./docker-setup.sh
|
||||
```
|
||||
|
||||
You can combine this with extra mounts:
|
||||
|
||||
```bash
|
||||
export CLAWDBOT_HOME_VOLUME="clawdbot_home"
|
||||
export CLAWDBOT_HOME_VOLUME="moltbot_home"
|
||||
export CLAWDBOT_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
|
||||
./docker-setup.sh
|
||||
```
|
||||
@@ -172,17 +172,17 @@ Use the CLI container to configure channels, then restart the gateway if needed.
|
||||
|
||||
WhatsApp (QR):
|
||||
```bash
|
||||
docker compose run --rm clawdbot-cli channels login
|
||||
docker compose run --rm moltbot-cli channels login
|
||||
```
|
||||
|
||||
Telegram (bot token):
|
||||
```bash
|
||||
docker compose run --rm clawdbot-cli channels add --channel telegram --token "<token>"
|
||||
docker compose run --rm moltbot-cli channels add --channel telegram --token "<token>"
|
||||
```
|
||||
|
||||
Discord (bot token):
|
||||
```bash
|
||||
docker compose run --rm clawdbot-cli channels add --channel discord --token "<token>"
|
||||
docker compose run --rm moltbot-cli channels add --channel discord --token "<token>"
|
||||
```
|
||||
|
||||
Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](/channels/discord)
|
||||
@@ -190,7 +190,7 @@ Docs: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](
|
||||
### Health check
|
||||
|
||||
```bash
|
||||
docker compose exec clawdbot-gateway node dist/index.js health --token "$CLAWDBOT_GATEWAY_TOKEN"
|
||||
docker compose exec moltbot-gateway node dist/index.js health --token "$CLAWDBOT_GATEWAY_TOKEN"
|
||||
```
|
||||
|
||||
### E2E smoke test (Docker)
|
||||
@@ -242,7 +242,7 @@ precedence, and troubleshooting.
|
||||
|
||||
### Default behavior
|
||||
|
||||
- Image: `clawdbot-sandbox:bookworm-slim`
|
||||
- Image: `moltbot-sandbox:bookworm-slim`
|
||||
- One container per agent
|
||||
- Agent workspace access: `workspaceAccess: "none"` (default) uses `~/.clawdbot/sandboxes`
|
||||
- `"ro"` keeps the sandbox workspace at `/workspace` and mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`)
|
||||
@@ -258,9 +258,9 @@ If you plan to install packages in `setupCommand`, note:
|
||||
- Default `docker.network` is `"none"` (no egress).
|
||||
- `readOnlyRoot: true` blocks package installs.
|
||||
- `user` must be root for `apt-get` (omit `user` or set `user: "0:0"`).
|
||||
Clawdbot auto-recreates containers when `setupCommand` (or docker config) changes
|
||||
Moltbot auto-recreates containers when `setupCommand` (or docker config) changes
|
||||
unless the container was **recently used** (within ~5 minutes). Hot containers
|
||||
log a warning with the exact `clawdbot sandbox recreate ...` command.
|
||||
log a warning with the exact `moltbot sandbox recreate ...` command.
|
||||
|
||||
```json5
|
||||
{
|
||||
@@ -272,7 +272,7 @@ log a warning with the exact `clawdbot sandbox recreate ...` command.
|
||||
workspaceAccess: "none", // none | ro | rw
|
||||
workspaceRoot: "~/.clawdbot/sandboxes",
|
||||
docker: {
|
||||
image: "clawdbot-sandbox:bookworm-slim",
|
||||
image: "moltbot-sandbox:bookworm-slim",
|
||||
workdir: "/workspace",
|
||||
readOnlyRoot: true,
|
||||
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
||||
@@ -290,7 +290,7 @@ log a warning with the exact `clawdbot sandbox recreate ...` command.
|
||||
nproc: 256
|
||||
},
|
||||
seccompProfile: "/path/to/seccomp.json",
|
||||
apparmorProfile: "clawdbot-sandbox",
|
||||
apparmorProfile: "moltbot-sandbox",
|
||||
dns: ["1.1.1.1", "8.8.8.8"],
|
||||
extraHosts: ["internal.service:10.0.0.5"]
|
||||
},
|
||||
@@ -325,7 +325,7 @@ Multi-agent: override `agents.defaults.sandbox.{docker,browser,prune}.*` per age
|
||||
scripts/sandbox-setup.sh
|
||||
```
|
||||
|
||||
This builds `clawdbot-sandbox:bookworm-slim` using `Dockerfile.sandbox`.
|
||||
This builds `moltbot-sandbox:bookworm-slim` using `Dockerfile.sandbox`.
|
||||
|
||||
### Sandbox common image (optional)
|
||||
If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), build the common image:
|
||||
@@ -334,11 +334,11 @@ If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), bu
|
||||
scripts/sandbox-common-setup.sh
|
||||
```
|
||||
|
||||
This builds `clawdbot-sandbox-common:bookworm-slim`. To use it:
|
||||
This builds `moltbot-sandbox-common:bookworm-slim`. To use it:
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: { defaults: { sandbox: { docker: { image: "clawdbot-sandbox-common:bookworm-slim" } } } }
|
||||
agents: { defaults: { sandbox: { docker: { image: "moltbot-sandbox-common:bookworm-slim" } } } }
|
||||
}
|
||||
```
|
||||
|
||||
@@ -350,7 +350,7 @@ To run the browser tool inside the sandbox, build the browser image:
|
||||
scripts/sandbox-browser-setup.sh
|
||||
```
|
||||
|
||||
This builds `clawdbot-sandbox-browser:bookworm-slim` using
|
||||
This builds `moltbot-sandbox-browser:bookworm-slim` using
|
||||
`Dockerfile.sandbox-browser`. The container runs Chromium with CDP enabled and
|
||||
an optional noVNC observer (headful via Xvfb).
|
||||
|
||||
@@ -379,7 +379,7 @@ Custom browser image:
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
sandbox: { browser: { image: "my-clawdbot-browser" } }
|
||||
sandbox: { browser: { image: "my-moltbot-browser" } }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -398,14 +398,14 @@ Prune rules (`agents.defaults.sandbox.prune`) apply to browser containers too.
|
||||
Build your own image and point config to it:
|
||||
|
||||
```bash
|
||||
docker build -t my-clawdbot-sbx -f Dockerfile.sandbox .
|
||||
docker build -t my-moltbot-sbx -f Dockerfile.sandbox .
|
||||
```
|
||||
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
defaults: {
|
||||
sandbox: { docker: { image: "my-clawdbot-sbx" } }
|
||||
sandbox: { docker: { image: "my-moltbot-sbx" } }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -437,11 +437,11 @@ Example:
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/clawdbot/clawdbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
|
||||
- Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/moltbot/moltbot/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
|
||||
- Container not running: it will auto-create per session on demand.
|
||||
- Permission errors in sandbox: set `docker.user` to a UID:GID that matches your
|
||||
mounted workspace ownership (or chown the workspace folder).
|
||||
- Custom tools not found: Clawdbot runs commands with `sh -lc` (login shell), which
|
||||
- Custom tools not found: Moltbot runs commands with `sh -lc` (login shell), which
|
||||
sources `/etc/profile` and may reset PATH. Set `docker.env.PATH` to prepend your
|
||||
custom tool paths (e.g., `/custom/bin:/usr/local/share/npm-global/bin`), or add
|
||||
a script under `/etc/profile.d/` in your Dockerfile.
|
||||
|
||||
Reference in New Issue
Block a user