Sample apps
The fastest way to feel what Enclavia does is to run a sample. Every sample is a self-contained Docker image with a short README that walks you through create → push → connect. Pick one, follow its README, and you'll have something running inside an attested enclave in a few minutes.
Where they live
All samples live in one public repo:
github.com/EnclaviaIO/enclavia-samples
Each top-level directory is a standalone sample. Clone the repo, change into the directory of the sample you want to try, and follow that README.
git clone https://github.com/EnclaviaIO/enclavia-samples
cd enclavia-samples/<sample-name>
# follow the README in that directoryThe general shape
Every sample expects the same basic prerequisites: the enclavia CLI is installed and authenticated, Docker is running, and you've completed enclavia auth login. Most samples then walk through the same three phases:
- Build the image locally with
docker build. - Create the enclave with
enclavia enclave create(the sample's README spells out the flags — usually--container-portand sometimes an egress allowlist). - Push the image with
enclavia push <local-image> <enclave-id>. The push flips the enclave tobuilding; once it'srunning, the sample shows how to connect to it (either from the client library or, where relevant, the dashboard).
Steps 2 and 3 collapse into one when you're at a terminal: enclavia deploy <local-image> [create flags] creates, pushes, and follows the build until the enclave is running.
If you have the MCP connector wired up, step 2 (and any inspection along the way) can be driven from your AI agent in natural language. Step 3 still runs on your laptop because pushing needs your local Docker daemon.
Just the management surface, no Docker
If you don't want to install Docker yet and you just want to see Enclavia respond, the MCP connector alone is enough to:
- Create an enclave (it will sit in
waiting_for_image). - List your enclaves, inspect status, read build logs.
- Stop / destroy enclaves you created earlier.
That's not the full loop — until you enclavia push an image the enclave never reaches running — but it's enough to confirm the connector is wired correctly against your account before you commit to a local install.
Use a sample as a starting point
Each sample is intentionally small. Once one is running, copy its directory into your own project, swap the app for your own code, and you have a known-good enclave create invocation + push flow to build on top of. The egress sample in particular is useful as a template for any workload that needs outbound traffic — the Outbound egress allowlist page explains the policy semantics it exercises.
Want to contribute a sample?
PRs are welcome at EnclaviaIO/enclavia-samples. The bar is roughly: a small Dockerfile, a 30-line README, and instructions that work against api.beta.enclavia.io without any private dependencies.