Product · Workstation
Parallel worktrees.
Three feature branches side-by-side on the same workstation, each with its own docker stack, its own ports, its own live URL. No port collisions. One command to spin up, one to tear down.
The problem
Product repos with 15+ docker services make running branches in parallel painful. Compose publishes host ports; two projects both want 5432. You end up stubbing ports in .env.local, losing your mind.
The shape
Each worktree runs as an isolated compose project. Container-to-container traffic uses docker's private network. Remoco generates a docker-compose.override.yml that resets ports and container_name per project.
$ remoco worktree hero-redesign # 1. creates ~/code/doss-wt/hero-redesign as git worktree # 2. yarn install in worktree # 3. generates compose override # 4. docker compose -p doss-hero-redesign up -d # 5. writes .env.worktree with container IPs # 6. registers portless alias web.hero-redesign.wiley → :3000 # 7. prints: https://web.hero-redesign.wiley.remoco.dev
URL shape stays consistent
The worktree name becomes the first label of the URL, so your URL patterns stay clean:
web.main.wiley.remoco.dev— mainweb.hero-redesign.wiley.remoco.dev— hero-redesign branchweb.pr-42.wiley.remoco.dev— PR #42
Teardown
$ remoco worktree --teardown hero-redesign # docker compose down · git worktree remove · drop aliases · hide URLs
Resource ceiling
Running three worktrees of a 15-service stack means ~45 containers. Recommended workstation class: large (16 vCPU · 64 GB) or highmem (8 vCPU · 64 GB) if you're IO-bound on Postgres or ES.