This document provides step-by-step instructions for setting up Sim Studio locally and creating your first AI agent workflow. It covers installation prerequisites, multiple deployment methods, and initial configuration.
For production deployment options, see 1.2 Deployment Options. For detailed technology stack information, see 1.3 Technology Stack.
Sim Studio is a platform for building and deploying AI agent workflows. The system consists of three core services and a background worker:
| Service | Port | Purpose |
|---|---|---|
simstudio | 3000 | Next.js application serving the UI and API apps/sim/package.json11 |
sim-worker | 3001 | BullMQ background worker for long-running tasks apps/sim/package.json22 |
realtime | 3002 | Socket.io server for collaborative editing apps/sim/package.json13 |
db | 5432 | PostgreSQL 17 with pgvector extension docker-compose.prod.yml119 |
All deployment methods provision these services plus a one-time migrations container for database schema setup docker-compose.prod.yml107-116
Sources: docker-compose.prod.yml1-137 apps/sim/package.json11-22
This diagram associates system services with their specific entry points and resource requirements defined in the codebase.
Deployment Service Configuration
The main application container requires 8GB RAM due to workflow execution sandboxing via isolated-vm, in-memory document parsing, and vector operations docker-compose.prod.yml10 The worker requires 4GB RAM to handle background workflow execution and document processing docker-compose.prod.yml50
Sources: docker-compose.prod.yml1-137 docker-compose.local.yml1-132 apps/sim/next.config.ts90-95 apps/sim/package.json150
| Component | Version | Purpose |
|---|---|---|
| Docker | 20.10+ | Container runtime (all deployment methods except manual) |
| Bun | 1.2.13+ | JavaScript runtime (manual setup only) apps/sim/package.json7 |
| Node.js | 20.0.0+ | JavaScript runtime (manual setup only) apps/sim/package.json8 |
| PostgreSQL | 17+ | Database with pgvector docker-compose.prod.yml119 |
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 12 GB | 16+ GB |
| Storage | 20 GB SSD | 50+ GB SSD |
Memory is the primary constraint due to isolated-vm sandboxing for workflow execution apps/sim/next.config.ts90 in-memory document parsing via mammoth/officeparser apps/sim/package.json138-150 and pgvector operations.
Sources: README.md21 apps/sim/package.json6-9 apps/sim/package.json138-150 docker-compose.prod.yml10-50
Sources: README.md45-152
The NPM package automatically manages Docker containers for you.
This command:
ghcr.io/simstudioai/simstudio:latest, ghcr.io/simstudioai/realtime:latest, ghcr.io/simstudioai/migrations:latest.Open http://localhost:3000. You should see the login page.
Sources: README.md51-56
This uses the production compose file at docker-compose.prod.yml1-137 Key services:
| Service | Image | Resources |
|---|---|---|
simstudio | ghcr.io/simstudioai/simstudio:latest | 8G memory limit docker-compose.prod.yml10 |
sim-worker | ghcr.io/simstudioai/simstudio:latest | 4G memory limit docker-compose.prod.yml50 |
realtime | ghcr.io/simstudioai/realtime:latest | 1G memory limit docker-compose.prod.yml88 |
db | pgvector/pgvector:pg17 | Persistent volume docker-compose.prod.yml119 |
Key variables are defined in docker-compose.prod.yml12-28:
For custom configuration, create a .env file in the repository root. See 9.1 Environment Variables for the full list.
Sources: docker-compose.prod.yml1-137 README.md21
For development without Docker or when extending the codebase.
The monorepo structure defined in package.json7-10 includes:
apps/sim: Main Next.js application.apps/docs: Documentation site.packages/*: Shared logic and database schema.To run all necessary services for development:
This executes the dev:full script from apps/sim/package.json14 which starts:
Sources: package.json7-10 apps/sim/package.json11-22 README.md111-152
Key workspaces defined in package.json7-10:
| Workspace | Purpose |
|---|---|
apps/sim | Main application - Next.js 16, React 19, API routes, UI components. |
apps/docs | Documentation - Fumadocs site apps/docs/package.json24-29 |
packages/db | Database layer - Drizzle ORM schema and migrations apps/sim/package.json112 |
packages/logger | Logging - Structured logging utilities apps/sim/package.json88 |
Sources: package.json1-52 apps/sim/package.json1-186 apps/docs/package.json1-49
Sim Studio uses Better Auth for session management apps/sim/package.json116
BETTER_AUTH_SECRET, ENCRYPTION_KEY, and INTERNAL_API_SECRET docker-compose.prod.yml16-19GITHUB_CLIENT_ID and GOOGLE_CLIENT_ID are provided helm/sim/values.yaml108-111Add AI provider API keys to enable agent blocks in your .env:
Copilot provides AI-assisted workflow building. Set your key in the environment docker-compose.prod.yml21:
Sources: docker-compose.prod.yml16-21 helm/sim/values.yaml108-126 apps/sim/package.json116
realtime service docker/realtime.Dockerfile84sim-worker docker-compose.prod.yml43-45Sources: README.md24-36 docker-compose.prod.yml43-45 docker/realtime.Dockerfile84
Refresh this wiki