Local Docker proxy for Vibe Coding IDE - bridges browser to Docker Desktop
npm install @that1kid333/docker-proxy
Browser (Vibe Coding) ā This Proxy (localhost:9876) ā Docker Desktop
`
Since browsers cannot directly access Docker, this proxy runs locally and translates HTTP requests into Docker API calls.
Quick Start
`bash
npx @that1kid333/docker-proxy
`
You should see:
`
š Checking Docker connection...
ā Connected to Docker Desktop (v24.0.5)
2 container(s) running on Docker Desktop
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā š³ Vibe Docker Proxy ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā ā Proxy running on http://localhost:9876 ā
ā ā Ready for connections from Vibe Coding ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Press Ctrl+C to stop the proxy
`
Prerequisites
- Docker Desktop must be installed and running
- Node.js 18+ for running the proxy
Usage
$3
`bash
npx @that1kid333/docker-proxy
`
$3
`bash
npx @that1kid333/docker-proxy --port 9877
`
$3
`bash
npm install -g @that1kid333/docker-proxy
vibe-docker-proxy
`
API Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| /api/health | GET | Docker daemon status |
| /api/containers | GET | List all containers |
| /api/containers/:id | GET | Get container details |
| /api/containers/:id/start | POST | Start a container |
| /api/containers/:id/stop | POST | Stop a container |
| /api/containers/:id | DELETE | Remove a container |
| /api/containers/:id/logs | GET | Stream logs (SSE) |
| /api/compose/up | POST | Start compose stack |
| /api/compose/down | POST | Stop compose stack |
| /api/compose/ps | GET | List compose services |
Security
- Binds to 127.0.0.1 only (no remote access)
- CORS restricted to localhost and *.lovable.app
- Validates compose files for dangerous mounts
- No privileged containers allowed
Troubleshooting
$3
Make sure Docker Desktop is running:
- Mac/Windows: Open Docker Desktop application
- Linux: Run sudo systemctl start docker
$3
On Linux, add your user to the docker group:
`bash
sudo usermod -aG docker $USER
Then log out and back in
`
$3
Use a different port:
`bash
npx @that1kid333/docker-proxy --port 9877
``