4 ms·
Hello HN! I built DockBridge to solve a frustration I've had for years: Docker on macOS is heavy, but cloud dev servers are expensive (and annoying to manage).
by FunShot 10mo ago
Hello HN!
I built DockBridge to solve a frustration I've had for years: Docker on macOS is heavy, but cloud dev servers are expensive (and annoying to manage).
The Problem
If you're on a Mac (especially Apple Silicon) or Windows:
1. Local Docker: Drains battery, spins fans, uses 10s of GBs of disk, and cross-arch builds (amd64) are painfully slow via emulation.
2. Remote Docker: You buy a VPS ($20-50/mo), set up SSH/Docker context. But you have to manage it, secure it, and you pay for it 24/7 even if you only build once a day.
The Solution: Ephemeral, Persistent, Auto-Scaling (in future)
DockBridge allows you to point your local Docker client at a cheap cloud server that only exists when you need it.
1. Run: `export DOCKER_HOST=unix:///tmp/dockbridge.sock`
2. Use: Run `docker build .` or `docker run ...` locally.
3. Magic: DockBridge sees the request. If no server exists, it calls the cloud API (currently Hetzner) and provisions one (~60s).
4. Connect: It tunnels traffic via SSH.
5. Sleep: When you stop using it, DockBridge detects idleness and destroys the compute instance.
6. Persist: It uses persistent block storage for `/var/lib/docker`. When the server comes back up, all your images, layers, and volumes are instantly there. No re-pulling.
Cost
It uses Hetzner Cloud (because it's cheap and reliable).
- Compute: You pay ~$0.01/hour (CPX21: 3 vCPU, 4GB RAM) only while active.
- Storage: You pay ~€0.05/month for 10GB of persistent data.
- Total: For typical dev usage, it costs pennies instead of $50/mo.
Technical Details
- Written in Go.
- Implements a proxy for the Docker socket.
- Manages strict security: generates temporary SSH keys, sets up firewalls (no open ports), uses SSH tunneling for all traffic.
- Open Source: AGPL-3.0.
I'd love to hear your feedback! Specifically:
- What other cloud providers would you like to see? (AWS/GCP/DigitalOcean?)
- Are there other features (like sync for bind mounts) that would make this your daily driver?