Quickstart Guide
This guide walks you through setting up Umbra locally, including both the frontend web interface and the backend CVM (Confidential Virtual Machine) services.Prerequisites: Ensure you have Node.js 22+, pnpm 10.15.1+, Python 3.11+, Docker, and Docker Compose installed on your system.
Frontend Setup
The frontend is a Next.js application that provides the user interface for interacting with the Confidential AI platform.Install dependencies
pnpm is pinned to version 10.15.1 in
package.json. The Makefile falls back to npm, but pnpm matches the CI environment.Set up Supabase
- Create a Supabase project at supabase.com
- Add
http://localhost:3000/auth/callbackto Authentication → URL Configuration - Run the schema from
supabase/schema.sqlto create thewaitlist_requeststable - Create an admin user and grant the admin role:
CVM Services Setup
The CVM (Confidential Virtual Machine) services handle attestation, authentication, and certificate management for the TEE.Start all services in development mode
- attestation-service - FastAPI service for TDX attestation (port 8000)
- auth-service - Token-based authentication (port 8001)
- cert-manager - Nginx with Let’s Encrypt and EKM
- mock-vllm - Mock vLLM service for testing (development mode only)
In development mode, the services run with
NO_TDX=true, which bypasses actual TDX hardware requirements. This allows you to develop and test locally without Intel TDX hardware.Verify services are running
Wait for services to be ready and run health checks:This uses the
test_cvm.py script to verify all services are responding.Run integration tests
- Health endpoint checks
- Attestation service validation
- vLLM/mock vLLM endpoint testing
- HTTP to HTTPS redirect verification
- ACME challenge endpoint testing
- SSL certificate validation
- CORS configuration checks
- EKM header forwarding (dev mode)
Verify Your Setup
Check the CVM services
The Nginx proxy is available at
https://localhostTest individual endpoints:- Health:
make test-health - Attestation:
make test-attestation - vLLM:
make test-vllm
Try the Confidential AI workspace
- Navigate to
/confidential-aion the frontend - The UI will establish an RA-TLS connection to the TEE
- Wait for attestation verification to complete
- Once verified, you can submit prompts and upload documents
In development mode with
NEXT_PUBLIC_ATTESTATION_TEST_MODE=true, real attestation verification is skipped. Remove this variable to test actual attestation flows.Development Workflow
Frontend Commands
CVM Commands
Individual Service Development
To work on a specific CVM service:Stopping Services
Environment-Specific Notes
Development Mode Features
- NO_TDX=true - Bypass TDX hardware requirements
- Mock vLLM - Test vLLM integration without running actual models
- Dev endpoints - Additional debugging and testing endpoints enabled
- Test attestation mode - Skip real DCAP verification in E2E tests
Production Mode
For production-like testing locally:Troubleshooting
Next Steps
Architecture Overview
Understand how Umbra’s components work together
Security Guide
Learn about Umbra’s security mechanisms in depth
