Self-Hosting

Deploy Sim on your own infrastructure

Deploy Sim on your own infrastructure with Docker or Kubernetes.

Set Up with Cursor

Requirements

ResourceSmallStandardProduction
CPU2 cores4 cores8+ cores
RAM12 GB16 GB32+ GB
Storage20 GB SSD50 GB SSD100+ GB SSD
Docker20.10+20.10+Latest

Small: Development, testing, single user (1-5 users) Standard: Teams (5-50 users), moderate workloads Production: Large teams (50+ users), high availability, heavy workflow execution

Resource requirements are driven by workflow execution (isolated-vm sandboxing), file processing (in-memory document parsing), and vector operations (pgvector). Memory is typically the constraining factor rather than CPU. Production telemetry shows the main app uses 4-8 GB average with peaks up to 12 GB under heavy load.

Quick Start

git clone https://github.com/simstudioai/sim.git && cd sim
docker compose -f docker-compose.prod.yml up -d

Open http://localhost:3000

Deployment Options

Architecture

ComponentPortDescription
simstudio3000Main application
realtime3002WebSocket server
db5432PostgreSQL with pgvector
migrations-Database migrations (runs once)

Common Questions

At minimum you need 2 CPU cores, 12 GB RAM, 20 GB SSD storage, and Docker 20.10 or later. Memory is typically the constraining factor due to workflow execution (isolated-vm sandboxing), file processing, and vector operations (pgvector).
Sim uses PostgreSQL 17 with the pgvector extension for vector similarity search. The Docker setup uses the pgvector/pgvector:pg17 image, which comes with the vector extension pre-installed.
Three secrets are required: BETTER_AUTH_SECRET (authentication), ENCRYPTION_KEY (data encryption), and INTERNAL_API_SECRET (service-to-service auth). Generate each with openssl rand -hex 32. You also need to set NEXT_PUBLIC_APP_URL and BETTER_AUTH_URL to your domain.
The realtime service is a dedicated WebSocket server that runs on port 3002. It handles real-time communication for features like live workflow execution updates. It has a 1 GB memory limit and requires its own DATABASE_URL and BETTER_AUTH_SECRET configuration.
The migrations container runs once at startup (restart: no) and executes bun run db:migrate to apply database schema changes. It depends on the database being healthy before running and must complete successfully before the main application starts.
Yes. Sim supports Ollama for local model inference. Use docker-compose.ollama.yml instead of docker-compose.prod.yml. It offers both GPU (with NVIDIA support) and CPU-only profiles, and automatically pulls gemma3:4b as a starter model.

On this page