Use this checklist before you run StacyVM locally or deploy it for other developers.Documentation Index
Fetch the complete documentation index at: https://docs.stacyide.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Quick Checklist
| Area | Required for local quickstart | Required for production |
|---|---|---|
| Host OS | Linux recommended, macOS acceptable for SDK/docs work | Linux host certified for the runtime you claim |
| Runtime | Docker for the default provider path | Docker, Firecracker, PRoot, or remote workers certified on target hosts |
| CLI tools | curl, git, Docker CLI | curl, git, Docker CLI, service manager, backup tooling |
| Build tools | Go only when building from source | Go only for source builds; release binaries are preferred |
| SDK tools | Python 3.9+ or Node.js 18+ | Match your application language runtime |
| Network | Local port 7423 available | TLS, reverse proxy, exact CORS origins, private admin access |
| Secrets | Optional local API key | Strong API key, admin key, worker credentials where applicable |
| Persistence | Local SQLite file is fine | Persistent data directory and backup plan |
Local Development
For the simplest local path, you need:- Docker installed and reachable by the StacyVM process.
- Port
7423available on localhost. curlfor API smoke checks.- Python 3.9+ if you want to use the Python SDK or examples.
- Node.js 18+ if you want to use the TypeScript SDK or examples.
- Go if you want to run
make serve,go test ./..., or build from source.
make serve.
Once the repository is cloned, the one-command local setup path is:
make dev checks Go, Docker, Docker daemon access, and port 7423, then builds StacyVM and starts ./stacyvm serve. It does not install Docker Desktop or OS packages for you; when something is missing, it prints the right OS-specific fix.
If you prefer an npm/npx-driven setup, use:
npm install for the web, SDK, and TypeScript example packages, download Go modules, build the StacyVM binary, and start the server. It still expects Docker and Go to be installed on the host.
To test a non-main branch directly from GitHub, use:
OS Setup
Choose the setup path for the machine where you will run StacyVM.macOS
macOS is a good local development environment for the Docker provider, SDKs, and docs. Use Docker Desktop as the runtime. Firecracker is not a macOS starter path because it requires Linux/KVM. Install tools:python:3.12, node:20, or alpine:latest on Apple Silicon.
Windows
Use Windows with WSL 2. Run StacyVM commands inside Ubuntu on WSL, not in PowerShell, so paths, shell behavior, and Docker integration match Linux more closely. Install:- WSL 2 with Ubuntu.
- Docker Desktop with WSL integration enabled for your Ubuntu distro.
- Go, Git, curl, and make inside Ubuntu.
Linux
Linux is the recommended host family for runtime work and production certification. Docker is the easiest first provider; Firecracker and PRoot require additional host-specific setup. Install basic tools with your distribution package manager:Ubuntu
Ubuntu is the most straightforward Linux path for individual setup and single-node staging. Install Docker and build tools:Runtime Requirements
Docker
Docker is the recommended first runtime because it is easiest to install and validate.- Docker daemon running on the host.
- Permission for the StacyVM process to create and destroy containers.
- Resource limits configured for memory, CPU, TTL, and concurrent sandboxes.
- Production config that disables unsafe Docker options.
Firecracker
Use Firecracker only after host certification.- Linux host with KVM access.
- Firecracker binary installed.
- Kernel, rootfs, and StacyVM agent configured.
- Networking configured for your deployment model.
- Runtime certification evidence for the exact host class.
PRoot
Use PRoot only after validating the real rootfs and binaries on the target host.- PRoot installed.
- Rootfs path configured.
- Required shell and runtime binaries available inside the rootfs.
- File and exec conformance passing for your target workload.
Production Requirements
Before exposing StacyVM to other users, prepare:auth.enabled: truewith a strong API key.- Separate admin API key for admin routes.
- Exact
server.cors_allowed_origins; do not use wildcard CORS for public browser clients. - Rate limits, sandbox caps, TTLs, and quotas.
- Persistent store path with backups.
- Health checks for
/api/v1/live,/api/v1/ready, and/api/v1/health. - Metrics scraping for
/api/v1/metrics/prometheus. - Audit log retention policy.
- Runtime certification for every provider you publicly claim.
Verify Your Setup
Verify The Npm Bootstrapper
Run this flow in a fresh terminal when you want to confirm the publishedstacyvm-setup package, clone path, build path, server, and sandbox execution are all working.
Verify the npm package:
Troubleshooting
npm returns 404 for stacyvm-setup
npm returns 404 for stacyvm-setup
Make sure you are using the published package name:If you are testing an unpublished branch, use the GitHub fallback:
Docker CLI is installed, but the daemon is not reachable
Docker CLI is installed, but the daemon is not reachable
On macOS, start Docker Desktop and wait until it is fully running:On Windows, run setup inside WSL 2 Ubuntu and enable Docker Desktop WSL integration for that distro.On Linux, start Docker and make sure your user can access it:Log out and back in after changing groups.
Go is missing
Go is missing
Source setup requires Go because the npm bootstrapper builds the StacyVM binary.macOS:Ubuntu or Debian:
Port 7423 is already in use
Port 7423 is already in use
Stop the process using port If you already have StacyVM running, use the existing server and continue with the quickstart.
7423, then rerun setup.macOS or Linux:Setup cloned the repo but failed later
Setup cloned the repo but failed later
Reuse the existing checkout after fixing the host issue:The setup command detects an existing StacyVM checkout and continues from there.
You want to test without Docker temporarily
You want to test without Docker temporarily
You can skip Docker daemon validation:This only verifies setup and build behavior. Docker must be running before you create real sandboxes with the Docker provider.
npm cache or auth errors
npm cache or auth errors
Use a clean npm cache directory:If npm asks for auth unexpectedly, verify your registry:It should usually be
https://registry.npmjs.org/.Continue
- Install StacyVM with the installation guide.
- Create your first sandbox with the quickstart.
- Review public runtime claims in the support matrix.

