Skip to main content
A snapshot captures a configured sandbox’s filesystem as a reusable base image. New sandboxes that boot from it start with your dependencies, tools, and environment already in place — no waiting on a fresh install each time.
Snapshots are a hosted-cloud feature. You can create them from the CLI, the web UI, or the HTTP API. Creating snapshots programmatically (CLI or HTTP API) works only against the hosted cloud — it is not available in local open-source mode.
For a walkthrough of the whole flow, watch the demo:
The flow is:
  1. Create a base sandbox with the setup script skipped.
  2. Configure it the way you want the base to look.
  3. Take a snapshot.
  4. Launch new sandboxes from the snapshot, and optionally set it as the repository default.

Step 1 — Create a base sandbox, skipping setup

When you build a base sandbox for a snapshot, skip the repository’s setup script. The setup script runs automatically every time a sandbox is created. If it runs while you build the snapshot and again when someone boots from that snapshot, it executes twice. Skip it now, and let it run once at boot time later.
1

Open the Create Sandbox dialog

On the Sandboxes page, click Create Sandbox and select your repository.
2

Check Skip setup script

Expand Sandbox Snapshot and check Skip setup script, then click Create.Create Sandbox dialog with Skip setup script checked
From the CLI, pass --no-setup to provision the sandbox with a no-op setup script:

Step 2 — Configure the environment

Connect to the sandbox and set it up the way you want the base image to look — install dependencies, build caches, configure tools.
See SSH and connect for the connection options.

Step 3 — Take the snapshot

The source sandbox must be running. Choose a capture mode:
A Full snapshot captures the filesystem as-is, so any secrets present in the sandbox are baked into the image. Prefer Snapshot and delete for shared base images.
Capture the snapshot from any of these surfaces:
amika snapshot create is interactive by default: it prompts for the capture mode and name, and for scrub_and_delete it previews the injected secrets that will be removed and asks you to confirm.
Capture runs in the background. Check progress with amika snapshot list.
A TypeScript SDK method for creating snapshots is coming soon. For now, use the CLI or HTTP API to create snapshots programmatically.
The snapshot moves through capturingfinalizingactive. Once it’s active it’s ready to launch from.

Step 4 — Launch from a snapshot

When you create a new sandbox, expand Sandbox Snapshot and pick your snapshot from the Start from snapshot dropdown. The new sandbox boots from the captured image instead of the preset.

Set a repository default

Make every new sandbox for a repository boot from a snapshot by default — either from the web UI or in your .amika/config.toml.
Commit the default to your repository configuration so every collaborator shares it. Add a [sandbox] section to .amika/config.toml:
A default set in the web UI (stored in the database) takes precedence over the [sandbox] value in .amika/config.toml. See the [sandbox] reference for the full resolution order.

Next steps

Sandbox lifecycle

Create a sandbox

SSH and connect

Manage secrets