BBansalMarketplace
All tools
๐Ÿณ
๐Ÿณ

VoiDock

Live

Platform

Launch isolated Docker containers on demand, each with a routable public URL.

โ€” people tried this

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. 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. 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. 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. 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. 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

Node.jsExpressDockerodeVercel Sandboxhttp-proxy

Works with: Any Docker Hub / private-registry / custom-built image ยท self-hosted Docker host or Vercel serverless

Ready to try VoiDock?