Templates
A rootfs image. Sandboxes boot from a template.
Every workspace gets the stock public ubuntu-24.04 template for free. You can build your own from any Docker image with the builds command group.
Visibility
- Workspace-private (default for new builds) — only this workspace can boot from it.
- Public — every workspace on the platform can use it.
templates publish <slug>makes it public;unpublishreverts.
The stock ubuntu-24.04 is always public.
Build from Docker
$ froglet builds new ghcr.io/acme/app:1.2 --name acme-app --slug acme-app queued build acme-app (4f1708a9-…)
Build runs on the workspace's dedicated builder host. The CLI doesn't stream the log; use builds log-url <id> to get the SSE URL and pipe through curl -N. See CLI · templates for the full flow.
| State | Meaning |
|---|---|
pending | Queued, waiting for the builder host. |
building | Running inside the builder. |
done | Build finished; template row creation in progress. Usually transient. |
ready | Template is usable in sb new --template …. |
error | Build failed. Check log-url for the SSE history. |
Private registries
Pass --user and --pass to builds new:
froglet builds new private-registry.example.com/team/app:v1 \ --name our-app --user "$REG_USER" --pass "$REG_PASS"
Public images (Docker Hub, GHCR public, ECR public) work without auth.
Versioning
Templates are identified by (workspace_id, slug). Re-running builds new --slug existing-slug replaces the rootfs in place — old sandboxes booted from the previous version are unaffected, but new sb new calls pick up the latest.
CLI / SDK
templates and builds on the CLI; templates.* and templateBuilds.* on the TypeScript SDK.