Use Case
You need reproducible containerized frontend+backend environments per workspace, with host ports isolated by Muxy.
Documentation
Use this when both frontend and backend are in one repo and run through Docker Compose.
You need reproducible containerized frontend+backend environments per workspace, with host ports isolated by Muxy.
FRONTEND_PORT
API_PORTMuxy allocates host ports per workspace. Compose maps them to container ports.
services:
frontend:
build: ./frontend
ports:
- "${FRONTEND_PORT}:3000"
environment:
- API_URL=http://backend:8000
backend:
build: ./backend
ports:
- "${API_PORT}:8000"cp /shared/.env .envKeeps workspace configuration deterministic. Copy vs symlink tradeoff is the same: isolation vs centralized updates.
FRONTEND_PORT=$FRONTEND_PORT API_PORT=$API_PORT docker compose up --buildOne Compose process starts both services and streams logs in a single terminal.
http://localhost:$FRONTEND_PORT
http://localhost:$API_PORT/adminUsing named-port URLs keeps browser targets tied to the correct workspace instance.
# normal pause
docker compose stop
# full cleanup reset
docker compose downPrefer stop for faster iteration during normal workflow. Use down when you need to tear down network and container state.
docker ps | grep -q monorepo_frontend
docker ps | grep -q monorepo_backendPer-service checks reveal partial failure that is otherwise hidden when only the parent Compose process appears alive.