README.md
Design agent workflows visually on a canvas—connect agents, tools, and blocks, then run them instantly.
<p align="center"> </p>Leverage Copilot to generate nodes, fix errors, and iterate on flows directly from natural language.
<p align="center"> </p>Upload documents to a vector store and let agents answer questions grounded in your specific content.
<p align="center"> </p><a href="https://sim.ai" target="_blank" rel="noopener noreferrer"></a>
npx simstudio
Docker must be installed and running on your machine.
| Flag | Description |
|---|---|
-p, --port <port> | Port to run Sim on (default 3000) |
--no-pull | Skip pulling latest Docker images |
git clone https://github.com/simstudioai/sim.git && cd sim
docker compose -f docker-compose.prod.yml up -d
Run Sim with local AI models using Ollama - no external APIs required:
# Start with GPU support (automatically downloads gemma3:4b model)
docker compose -f docker-compose.ollama.yml --profile setup up -d
# For CPU-only systems:
docker compose -f docker-compose.ollama.yml --profile cpu --profile setup up -d
Wait for the model to download, then visit http://localhost:3000. Add more models with:
docker compose -f docker-compose.ollama.yml exec ollama ollama pull llama3.1:8b
If Ollama is running on your host machine, use host.docker.internal instead of localhost:
OLLAMA_URL=http://host.docker.internal:11434 docker compose -f docker-compose.prod.yml up -d
On Linux, use your host's IP address or add extra_hosts: ["host.docker.internal:host-gateway"] to the compose file.
Sim supports vLLM for self-hosted models. Set VLLM_BASE_URL and optionally VLLM_API_KEY in your environment.
bun run dev:full in the terminal or use the sim-start alias
Requirements: Bun, Node.js v20+, PostgreSQL 12+ with pgvector
git clone https://github.com/simstudioai/sim.git
cd sim
bun install
docker run --name simstudio-db -e POSTGRES_PASSWORD=your_password -e POSTGRES_DB=simstudio -p 5432:5432 -d pgvector/pgvector:pg17
Or install manually via the pgvector guide.
cp apps/sim/.env.example apps/sim/.env
cp packages/db/.env.example packages/db/.env
# Edit both .env files to set DATABASE_URL="postgresql://postgres:your_password@localhost:5432/simstudio"
cd packages/db && bunx drizzle-kit migrate --config=./drizzle.config.ts
bun run dev:full # Starts both Next.js app and realtime socket server
Or run separately: bun run dev (Next.js) and cd apps/sim && bun run dev:sockets (realtime).
Copilot is a Sim-managed service. To use Copilot on a self-hosted instance:
COPILOT_API_KEY environment variable in your self-hosted apps/sim/.env file to that valueKey environment variables for self-hosted deployments. See .env.example for defaults or env.ts for the full list.
| Variable | Required | Description |
|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string with pgvector |
BETTER_AUTH_SECRET | Yes | Auth secret (openssl rand -hex 32) |
BETTER_AUTH_URL | Yes | Your app URL (e.g., http://localhost:3000) |
NEXT_PUBLIC_APP_URL | Yes | Public app URL (same as above) |
ENCRYPTION_KEY | Yes | Encrypts environment variables (openssl rand -hex 32) |
INTERNAL_API_SECRET | Yes | Encrypts internal API routes (openssl rand -hex 32) |
API_ENCRYPTION_KEY | Yes | Encrypts API keys (openssl rand -hex 32) |
COPILOT_API_KEY | No | API key from sim.ai for Copilot features |
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.
<p align="center">Made with ❤️ by the Sim Team</p>