Claude Code Plugin
Docker Compose without the port fights.
Reads your docker-compose.yml and runs every service with a random host port. Multiple worktrees of the same project run simultaneously — no collisions, no manual port juggling.
Every worktree gets its own stack.
Docker Compose maps static ports — 3000:3000, 5432:5432. Run two instances and the second one fails. Dockside replaces static mappings with -p 0:<port> so Docker picks a free host port every time.
Each session gets namespaced containers, networks, and volumes. Services still find each other by name on an isolated network. Nothing changes inside the containers — only the host ports are dynamic.
dockside up
building images...
starting containers...
web: http://localhost:52301 (3000)
api: http://localhost:52302 (8080)
db: localhost:52303 (5432)
3/3 services running
How it works.
Parse
Reads your docker-compose.yml — services, ports, volumes, dependencies, health checks, environment variables. Merges override files automatically.
Namespace
Generates a deterministic prefix from your working directory. Same worktree always gets the same namespace. Different worktrees get different ones.
Run
Builds images, creates an isolated network, starts containers in dependency order with dynamic ports. Reports every URL when done.
Provides the docker-dev-environment capability. Plugins like zapframe use this to spin up full-stack apps without worrying about port allocation.
Dynamic port allocation
Every exposed port gets -p 0:<container_port>. Docker assigns a free host port. No more "address already in use" errors.
Isolated networking
Each session gets its own Docker network. Services discover each other by name via network aliases — same as Compose, without the conflicts.
Idempotent restarts
Running "dockside up" when containers already exist cleans them up first. No stale containers, no orphaned networks. Always a fresh start.
Statusboard integration
Registers a live-updating dashboard section showing container status, health, ports, and resource usage. Check on your services at a glance.
Install
Requires Claude Code and Docker.
Add the marketplace
claude plugin marketplace add softwaresoftware-dev/softwaresoftware-plugins
Run in your terminal.
Install the installer
claude plugin install softwaresoftware@softwaresoftware-plugins
Run in your terminal.
Launch Claude Code
claude
Start a new session so the installer is available.
Install dockside + dependencies
/softwaresoftware:install dockside
Run inside Claude Code.