VoiDock
LivePlatform
Launch isolated Docker containers on demand, each with a routable public URL.
What is it
VoiDock is on-demand container orchestration with a management UI. Launch a workload with a single POST /container call โ no compose file needed โ and it gets a routable URL the moment it's ready: http://your-app.localhost self-hosted, or https://sb-xxxxxxxx.vercel.run on Vercel. From there you get full lifecycle control over the REST API or the dashboard โ start, stop, restart, delete, tail logs.
The API and dashboard are backend-agnostic: a driver decides how a workload actually runs, and both drivers return identical records. The docker driver runs containers on a real Docker daemon (raw TCP passthrough for non-HTTP images like Redis or Postgres, no lifetime cap). The sandbox driver runs one Vercel Sandbox microVM per workload โ its own dockerd, no Docker socket required โ which is what lets the whole thing run serverless on Vercel with no daemon of your own.
Why you need it
- One API call launches any Docker Hub, private-registry, or custom-built image โ no docker-compose, no server to SSH into.
- Every workload is routable by default, with a public URL the moment it's ready.
- Same codebase runs two ways: self-hosted against your own Docker daemon, or serverless on Vercel via Vercel Sandbox microVMs โ pick per environment with one env var.
- Full lifecycle control โ start, stop, restart, delete, tail logs โ from a REST API or the dashboard, on either driver.
User guide โ quickstart
- 1
Self-hosted: run against your own Docker daemon
Clone the repo, copy the env file (defaults to VOIDOCK_DRIVER=docker), and bring it up with Docker Compose. The dashboard is served on :8080.
git clone https://github.com/AryanBansal-launch/VoiDock.git cd VoiDock cp .env.example .env docker compose up -d --build - 2
Or deploy serverless to Vercel
Link the project, pull its env vars, and deploy โ the sandbox driver is auto-selected whenever the VERCEL env var is set. Enable OIDC Federation in Project Settings โ Security first so the deployment can drive Vercel Sandbox.
npx vercel link npx vercel env pull npx vercel deploy --prod - 3
Launch a container
POST an image and tag to spin up a workload. No compose file, no manual networking โ the response includes the routable URL.
curl -X POST /container -H "Content-Type: application/json" \ -d '{"image":"nginx","tag":"latest"}' - 4
Manage the lifecycle
Stop, start, restart, or delete a workload, and tail its logs, all from the REST API or the dashboard.
POST /container/:id/stop POST /container/:id/start POST /container/:id/restart DELETE /container/:id GET /container/:id/logs?tail=100 - 5
Reach non-HTTP workloads (docker driver only)
Set port to the image's internal service port to get a raw TCP address back instead of an HTTP URL โ useful for Redis, Postgres, or anything else that isn't a web server. Some images need env just to boot (Postgres refuses to start without POSTGRES_PASSWORD, for example).
curl -X POST /container -H "Content-Type: application/json" \ -d '{"image":"postgres","tag":"16","port":5432,"env":{"POSTGRES_PASSWORD":"changeme"}}'
Under the hood
Works with: Any Docker Hub / private-registry / custom-built image ยท self-hosted Docker host or Vercel serverless
Ready to try VoiDock?