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.

1

Parse

Reads your docker-compose.yml — services, ports, volumes, dependencies, health checks, environment variables. Merges override files automatically.

2

Namespace

Generates a deterministic prefix from your working directory. Same worktree always gets the same namespace. Different worktrees get different ones.

3

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.

1

Add the marketplace

claude plugin marketplace add softwaresoftware-dev/softwaresoftware-plugins

Run in your terminal.

2

Install the installer

claude plugin install softwaresoftware@softwaresoftware-plugins

Run in your terminal.

3

Launch Claude Code

claude

Start a new session so the installer is available.

4

Install dockside + dependencies

/softwaresoftware:install dockside

Run inside Claude Code.