This guide is for self-hosted deployments. Using the managed platform? You don’t need Docker — see Connect to SenseLab.
Overview
SenseLab ships with a production-ready Docker image and a Helm chart for Kubernetes. You can go from zero to a running SenseLab server in one command — no Python installation required. The Docker image includes:- The SenseLab HTTP API server (FastAPI)
- All storage adapters (filesystem, Postgres, S3)
- The MCP server
- The Memory Cortex (streaming digest compiler)
- Health checks and graceful shutdown
Docker
Quick Start
Build Locally
Configuration
All environment variables work inside the container. Common ones:Docker Compose
For local development,docker-compose.yml brings up SenseLab + Postgres (with pgvector) in one command:
The compose file lives in the repo root:
LISTEN/NOTIFY and continuously compiles knowledge digests. It runs as a separate container for independent scaling.
For simple single-instance deployments, you can skip the separate container and run the Cortex embedded in the HTTP server:
Verify
Connecting the Dashboard (Pro)
If you have access to the SenseLab Pro dashboard, point it at the running Docker Compose stack by setting two environment variables indashboard/.env.local:
NEXT_PUBLIC_ is a Next.js convention that exposes the variable to browser-side code. After setting them, restart the dashboard dev server (npm run dev) for the changes to take effect.
Kubernetes with Helm
Install
Helm Values
Ingress
To expose SenseLab externally:Autoscaling
The Helm chart includes an optional HPA:Connecting MCP to Docker
Point your MCP config at the Dockerized HTTP server using the Streamable HTTP URL:uvx approach with the Docker server’s HTTP URL:
Seeding Test Data
A comprehensive seed script is included for development and testing. It populates all tables with realistic, interconnected data:Production Checklist
- Set
AMFS_API_KEYSto enable authentication - Use Postgres or S3 backend for durability and shared state
- Configure resource limits in Kubernetes
- Enable Ingress with TLS for external access
- Set up Postgres backups (pg_dump, WAL archiving, or managed service)
- Monitor
/healthendpoint with your observability stack - Verify Cortex worker is running (
/api/v1/cortex/status) - Consider HPA for traffic-heavy deployments
Next Steps
- HTTP API Server — endpoint reference and usage examples
- S3 Adapter — use S3-compatible storage as the backend
- Postgres Adapter — full-text + vector search with native SQL
