A live workspace where coding agents edit, preview, and commit real projects.
cmdop-docker is the fastest way to experience the complete CMDOP loop on your
machine. One Compose service starts the CMDOP server, a scoped machine agent,
an editable project, live browser preview, and persistent Git history.
Use Claude Code, Codex, or another coding agent to request a change. Watch the result appear in the browser, inspect the files, and keep the finished work as a normal Git commit.
- A real workspace. The agent edits the same files you can inspect on the host.
- Immediate feedback. Vite HMR updates the browser as the project changes.
- Bounded access. The machine agent works inside the configured project directory.
- Durable history. Finished changes remain in local Git across container recreation.
The repository provides the Docker setup and editable demo. The CMDOP binary is installed from the official distribution when the image is built.
You need Docker Engine with Compose v2 and a CMDOP API key.
git clone https://github.com/commandoperator/cmdop-docker.git
cd cmdop-docker
cp .env.example .envAdd the required values to .env:
CMDOP_API_KEY=your_api_key
CMDOP_ADMIN_PASSWORD=choose_at_least_12_charactersStart the workspace:
docker compose up --build| Open | Address |
|---|---|
| Live site | localhost:8080 |
| CMDOP console | localhost:63141 |
Select the connected machine in the console and try:
Change the hero accent to cobalt blue and rewrite the headline for a robotics
studio. Keep it responsive.
Three supervised processes form one feedback loop:
| Process | Responsibility |
|---|---|
| CMDOP server | Browser console, authenticated sessions, and relay |
| CMDOP machine agent | Agent access scoped to /workspace/demo |
| Vite | Immediate preview of the same writable files |
The host ./demo directory is mounted at /workspace/demo. CMDOP state, Git
history, and node_modules use named volumes. Recreating the container keeps the
working state while a rebuild resolves the current CMDOP release.
The relay listener stays container-local by default. The site and console bind
to 127.0.0.1, and the machine agent connects outbound. The working directory
is set explicitly with CMDOP_AGENT_CWD.
To adapt the stack for another project or public deployment, start with configuration and persistence and deployment and firewall guidance.
The same image can also join an existing CMDOP server as one more machine —
no embedded server, no demo, no published ports. Set the target server address
and its fleet enrollment password in .env:
CMDOP_SERVER_URL=https://my-team.cmdop.dev
CMDOP_ENROLL_PASSWORD=cmdop_enroll_xxxxxxxxThen start the dedicated service:
docker compose --profile agent up --build agentThe container enrolls on startup and appears in that server's fleet; the host
./workspace directory is the agent's working directory. See
configuration for details.
- Architecture and process supervision
- Configuration and persistence
- Agent commits and optional GitHub publishing
- Public deployment, ports, and firewall
- Troubleshooting and safe support bundle
For programmatic Python and Node integrations, see
commandoperator/cmdop-sdk.
Product | CMDOP for Docker | Documentation | SDK | Download
The Docker setup and demo project in this repository are licensed under the Apache License 2.0. CMDOP itself is distributed under its own product terms.
