Sim Studio is a lightweight, user-friendly platform for building AI agent workflows.
- Use our cloud-hosted version
- Self-host using one of the methods below
The easiest way to run Sim Studio locally is using our NPM package:
npx simstudio
After running these commands, open http://localhost:3000/ in your browser.
-p, --port <port>
: Specify the port to run Sim Studio on (default: 3000)--no-pull
: Skip pulling the latest Docker images
- Docker must be installed and running on your machine
# Clone the repository
git clone https://github.com/simstudioai/sim.git
# Navigate to the project directory
cd sim
# Start Sim Studio
docker compose -f docker-compose.prod.yml up -d
Access the application at http://localhost:3000/
To use local models with Sim Studio:
- Pull models using our helper script:
./apps/sim/scripts/ollama_docker.sh pull <model_name>
- Start Sim Studio with local model support:
# With NVIDIA GPU support
docker compose --profile local-gpu -f docker-compose.ollama.yml up -d
# Without GPU (CPU only)
docker compose --profile local-cpu -f docker-compose.ollama.yml up -d
# If hosting on a server, update the environment variables in the docker-compose.prod.yml file to include the server's public IP then start again (OLLAMA_URL to i.e. http://1.1.1.1:11434)
docker compose -f docker-compose.prod.yml up -d
- Open VS Code with the Remote - Containers extension
- Open the project and click "Reopen in Container" when prompted
- Run
bun run dev:full
in the terminal or use thesim-start
alias- This starts both the main application and the realtime socket server
Requirements:
- Bun runtime
- PostgreSQL 12+ with pgvector extension (required for AI embeddings)
Note: Sim Studio uses vector embeddings for AI features like knowledge bases and semantic search, which requires the pgvector
PostgreSQL extension.
- Clone and install dependencies:
git clone https://github.com/simstudioai/sim.git
cd sim
bun install
- Set up PostgreSQL with pgvector:
You need PostgreSQL with the vector
extension for embedding support. Choose one option:
Option A: Using Docker (Recommended)
# Start PostgreSQL with pgvector extension
docker run --name simstudio-db \
-e POSTGRES_PASSWORD=your_password \
-e POSTGRES_DB=simstudio \
-p 5432:5432 -d \
pgvector/pgvector:pg17
Option B: Manual Installation
- Install PostgreSQL 12+ and the pgvector extension
- See pgvector installation guide
- Set up environment:
cd apps/sim
cp .env.example .env # Configure with required variables (DATABASE_URL, BETTER_AUTH_SECRET, BETTER_AUTH_URL)
Update your .env
file with the database URL:
DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
- Set up the database:
bunx drizzle-kit migrate
- Start the development servers:
Recommended approach - run both servers together (from project root):
bun run dev:full
This starts both the main Next.js application and the realtime socket server required for full functionality.
Alternative - run servers separately:
Next.js app (from project root):
bun run dev
Realtime socket server (from apps/sim
directory in a separate terminal):
cd apps/sim
bun run dev:sockets
- Framework: Next.js (App Router)
- Runtime: Bun
- Database: PostgreSQL with Drizzle ORM
- Authentication: Better Auth
- UI: Shadcn, Tailwind CSS
- State Management: Zustand
- Flow Editor: ReactFlow
- Docs: Fumadocs
- Monorepo: Turborepo
- Realtime: Socket.io
- Background Jobs: Trigger.dev
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Made with ❤️ by the Sim Studio Team