Skip to main content
The fastest way to run Naive on your own hardware. This brings up the whole region — the open plumbing and the closed engine — on one box with Docker Compose, using the secrets-file driver (no TPM required). It ends by running scripts/demo.sh, the same green/red proof both other tutorials finish with.
This is the developer/CI topology. The production artifact is the Tower golden image (see Local VM and AWS), where the vault root is sealed to a real TPM and the agent runtime is sandboxed with gVisor (runsc).

Prerequisites

  • Linux (or macOS with Docker Desktop — note the runc fallback).
  • Docker Engine + Compose v2, Node 20+, pnpm 9.
  • The repo cloned. The closed engine images (region, vaultd) build from image/Dockerfile.region and engine/vaultd/Dockerfile.

1. Build the images

2. Bring up the stack

The compose file wires the load-bearing topology: frontnet (egress-capable) + agentnet/datanet (internal: true) + vaultd on no network. The agent runtime’s only reachable peer is the egress gateway.
Drivers on this box: secrets-file, queue-pg, storage-fs (see Drivers). The closed governor decides every gated action; without it the region is inert (403 enforcement_unavailable).

3. Prove it end-to-end

This registers a company, provisions a sandbox operator, sends an email to the on-box catch-all, watches an over-cap purchase freeze, approves it, replays it synthetically, promotes to production, and finishes with the topology proof (direct egress fails; the gateway terminating path works; a non-allowlisted CONNECT is refused; stopping the governor makes gated actions return 403). Green means your region is real.

Teardown