Skip to content

ccpod

Run Claude Code in Docker. Portable, composable profiles for your Claude environment.

Your Claude environment — settings, plugins, skills, CLAUDE.md, MCP servers — is usually pinned to one machine. ccpod wraps it in a profile: a versioned, portable config that travels with you, your team, or your open-source project. Every ccpod run drops you into a clean, reproducible Claude session inside a container.

01

Portable profiles

A profile bundles your Claude config, plugins, CLAUDE.md, MCPs, and image into a single versionable unit.

02

Reproducible sessions

Every ccpod run boots a clean container from a pinned image — no drift between machines or teammates.

03

Project-level overrides

.ccpod.yml sits in your repo and merges with the profile: deep-merge settings, append CLAUDE.md, add sidecars.

04

Sidecar services

Declare a Postgres, Redis, or queue alongside Claude. ccpod wires them onto a shared network automatically.

05

MCP auto-detection

HTTP/SSE MCP servers from .mcp.json are exposed without manual port flags.

06

Runtime-agnostic

Works with Docker, OrbStack, Colima, and Podman. ccpod auto-detects the socket.

Don’t have a recording yet? Drop a .cast file in website/public/casts/ and rebuild. See the demo page for instructions.

Feature Bare Claude Code ccpod
Portable config across machines Per-machine ~/.claude only Built into profile
Versioned via git Manual sync config: source: git
Reproducible base image Drift between teammates Pinned image tag
Network policy Trusts host network full or restricted allow-list
Sidecar services (DBs, queues) docker compose alongside Declared in profile.yml
MCP port forwarding Manual port flags Auto-detected from .mcp.json
Plugin install Per-machine Volume per profile, delta-installed
Auth handling Files in ~/.claude Profile-scoped credentials dir
Terminal window
# Install
curl -fsSL https://raw.githubusercontent.com/yorch/ccpod/main/install.sh | bash
# First-run wizard: detect runtime, set up auth, create default profile
ccpod init
# Drop into Claude in the current directory
ccpod run

Want to share an environment with your team? Point a profile at a git repo and everyone gets the same CLAUDE.md, settings, and plugin set — synced daily.

~/.ccpod/profiles/team/profile.yml
config:
source: git
repo: https://github.com/your-org/claude-config
sync: daily