// Spunto Lite · open source · one container
Spunto Lite is the Build pillar of Spunto in a single self-hostable container: create devcontainer-style projects, launch disposable Docker workers with VS Code in the browser, a persistent terminal, lifecycle hooks, secrets and your own SSH key. No cloud, no accounts — just your Docker socket.
docker run -d --name spunto-lite -p 80:80 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$HOME/.ssh:/host-ssh:ro" \
-v spunto-lite-data:/app/data \
ghcr.io/spuntodotnet/spunto-lite:latestThen open http://localhost — workers appear at worker-<id>.localhost.
What you get
Not another dotfiles script and not a hosted IDE. A small app that turns "spin me up a clean environment for this" into a button — on hardware you already pay for.
Every worker boots with code-server inside it, on its own subdomain. Open a tab and you're in a full editor — plus a persistent terminal that survives a page reload.
Declare a base image, devcontainer features, VS Code extensions, forwarded ports and postCreate / postStart hooks once. Every worker you launch from that project is identical.
Your ~/.ssh is mounted read-only and injected into each worker, so git push just works. Project and user secrets are stored encrypted and land in the environment.
One Next.js process talking straight to your local Docker socket. No accounts, no tenants, no remote agents, no telemetry leaving the box.
Three minutes, start to editor
One docker run with the Docker socket mounted — or the docker-compose.yml from the repo. Then open http://localhost.
Pick a starter template (Next.js, Vite, Astro, FastAPI, Express, docker-compose) or point it at your own repo and base image.
A sibling container boots from that spec, clones your repos, runs your hooks, and hands you an editor and a terminal.
Deliberately boring inside
Every moving part you don't need is a part that can break at 2am. Lite drops all of them and keeps the two that matter: a web app, and Docker.
dockerode straight to /var/run/docker.sock — workers are plain containers on your own daemon.
Projects, workers and secrets live in one file. No database service to run alongside it.
Editing a project bumps a version and pre-builds its image, so the next worker starts warm.
The same process reverse-proxies worker-<id>.localhost and hosts the terminal WebSocket.
Lite or hosted
Lite is one machine and one pillar. The platform is a fleet of machines you own, plus shipping to production and watching it run.
Start with Lite on your laptop. The project spec you write there — image, features, hooks, ports — is the same shape the hosted platform uses, so moving up is re-creating a project, not a migration.
Questions
The Build pillar of Spunto — dev environments — collapsed into a single container you run on your own machine. Same idea as the hosted platform: projects describe an environment, workers are disposable containers built from that description. No cloud, no multi-tenancy, no remote agents.
MIT. Fork it, run it at work, vendor a piece of it into something else — the only ask is that the copyright notice travels with it. The container image is public on GHCR too, so you don't have to build it yourself.
Lite is one machine and one pillar. The hosted platform orchestrates a fleet of nodes you own (BYOC), adds organizations and roles, and covers Ship (deploy Docker services with custom domains and TLS) and Run (logs, stats, job history) on top of Build.
No — and it isn't meant to be. There's no authentication in front of the control plane, and it holds your Docker socket. Keep it on localhost or a network you trust. Anything internet-facing is what the hosted platform is for.
No. It clones from GitHub, GitLab, Bitbucket or any git remote, and can generate a per-project deploy key for you. Your own ~/.ssh is mounted read-only so pushes keep your identity.
That's a large part of why it exists. Each worker is an isolated, disposable container with a real shell, a real editor and its own forwarded ports — a safe place to let a coding agent run, and cheap to throw away when it goes sideways.
Spunto Lite is MIT-licensed on GitHub and the image is on GHCR — one command and it's running on your machine. When one machine stops being enough, the hosted platform picks up where it leaves off.
Read the build write-up · no credit card either way