* migrate to bun * added envvars to drizzle * upgrade bun devcontainer feature to a valid one * added bun, docker not working * updated envvars, updated to bunder and esnext modules * fixed build, reinstated otel * feat: optimized multi-stage docker images * add coerce for boolean envvar * feat: add docker-compose configuration for local LLM services and remove legacy Dockerfile and entrypoint script * feat: add docker-compose files for local and production environments, and implement GitHub Actions for Docker image build and publish * refactor: remove unused generateStaticParams function from various API routes and maintain dynamic rendering * cleanup * upgraded bun * updated ci * fixed build --------- Co-authored-by: Aditya Tripathi <aditya@climactic.co>
5.6 KiB
Sim Studio is a lightweight, user-friendly platform for building AI agent workflows.
Run
- Run on our cloud-hosted version
- Self-host
How to Self-Host
There are several ways to self-host Sim Studio:
Option 1: Docker Environment (Recommended)
# Clone the repository
git clone https://github.com/simstudioai/sim.git
# Create environment file and update with required environment variables (BETTER_AUTH_SECRET)
cd apps/sim
cp .env.example .env
# Start Sim Studio using the provided script
docker compose up -d --build
or
./start_simstudio_docker.sh
After running these commands:
-
Access the Application:
- Open http://localhost:3000/w/ in your browser
- The
/w/path is where the main workspace interface is located
-
Useful Docker Commands:
# View application logs docker compose logs -f simstudio # Access PostgreSQL database docker compose exec db psql -U postgres -d simstudio # Stop the environment docker compose down # Rebuild and restart (after code changes) docker compose up -d --build
Working with Local Models
To use local models with Sim Studio, follow these steps:
-
Pull Local Models
# Run the ollama_docker.sh script to pull the required models ./apps/sim/scripts/ollama_docker.sh pull <model_name> -
Start Sim Studio with Local Models
#Start Sim Studio with local model support ./start_simstudio_docker.sh --local # or # Start Sim Studio with local model support if you have nvidia GPU docker compose up --profile local-gpu -d --build # or # Start Sim Studio with local model support if you don't have nvidia GPU docker compose up --profile local-cpu -d --build
The application will now be configured to use your local models. You can access it at http://localhost:3000/w/.
Connecting to Existing Ollama Instance
If you already have an Ollama instance running on your host machine, you can connect to it using one of these methods:
# Method 1: Use host networking (simplest approach)
docker compose up --profile local-cpu -d --build --network=host
Or modify your docker-compose.yml:
# Method 2: Add host.docker.internal mapping
services:
simstudio:
# ... existing configuration ...
extra_hosts:
- 'host.docker.internal:host-gateway'
environment:
- OLLAMA_HOST=http://host.docker.internal:11434
Option 2: Dev Containers
- Open VS Code or your favorite VS Code fork (Cursor, Windsurf, etc.)
- Install the Remote - Containers extension
- Open the project in your editor
- Click "Reopen in Container" when prompted
- The environment will automatically be set up
- Run
bun run devin the terminal or use thesim-startalias
Option 3: Manual Setup
- Install Dependencies
# Clone the repository
git clone https://github.com/simstudioai/sim.git
cd sim
# Install dependencies
bun install
- Set Up Environment
cd apps/sim
cp .env.example .env # or create a new .env file
# Configure your .env file with the required environment variables:
# - Database connection (PostgreSQL)
# - Authentication settings (Better-Auth Secret, Better-Auth URL)
⚠️ Important Notes:
- If
RESEND_API_KEYis not set, verification codes for login/signup will be logged to the console. - You can use these logged codes for testing authentication locally.
- For production environments, you should set up a proper email provider.
- Set Up Database
# Push the database schema
cd apps/sim
bunx drizzle-kit push
- Start Development Server
# Start the development server
cd ../..
bun run dev
- Open http://localhost:3000 in your browser
Tech Stack
- 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
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Made with ❤️ by the Sim Studio Team
