docker run command and first-time setup, see Installation. This page covers Docker-specific configuration, Compose, and image details.
Build from source
node:22-alpine— builds the React/Vite frontendgolang:1.25-alpine— compiles the Go binary with the embedded frontendalpine:3.21— minimal runtime image
agentvault (UID 65532) and includes a built-in health check at GET /health.
Configuration
Expose both the HTTP API (14321) and the transparent HTTP/HTTPS proxy (14322) so agents’ HTTPS_PROXY/HTTP_PROXY can reach the broker. Pass the master password via environment variable to wrap the data encryption key (DEK):
AGENT_VAULT_MASTER_PASSWORD for passwordless mode — the DEK is stored unwrapped, relying on volume access controls for security.
Fetch the root CA from the running container so agents outside Docker trust the proxied TLS handshake:
Docker Compose
docker-compose.yml
Volume and persistence
All state lives in a single SQLite database at/data/.agent-vault/agent-vault.db. The Docker image declares VOLUME /data, so data survives container restarts as long as you mount a named volume or host path.
PostgreSQL for production
For production deployments, or when running multiple instances behind a load balancer, setDATABASE_URL to a shared PostgreSQL instance instead of using the built-in SQLite database. All instances read from and write to the same Postgres database, so state is shared automatically.

