Files
sim/README.md
Waleed Latif 717e17d02a feat(bun): upgrade to bun, reduce docker image size by 95%, upgrade docs & ci (#371)
* 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>
2025-05-18 01:01:32 -07:00

5.6 KiB

Sim Studio Logo

License: Apache-2.0 Discord Twitter PRs welcome Documentation

Sim Studio is a lightweight, user-friendly platform for building AI agent workflows.

Run

  1. Run on our cloud-hosted version
  2. Self-host

How to Self-Host

There are several ways to self-host Sim Studio:

# 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:

  1. Access the Application:

  2. 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:

  1. Pull Local Models

    # Run the ollama_docker.sh script to pull the required models
    ./apps/sim/scripts/ollama_docker.sh pull <model_name>
    
  2. 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

  1. Open VS Code or your favorite VS Code fork (Cursor, Windsurf, etc.)
  2. Install the Remote - Containers extension
  3. Open the project in your editor
  4. Click "Reopen in Container" when prompted
  5. The environment will automatically be set up
  6. Run bun run dev in the terminal or use the sim-start alias

Option 3: Manual Setup

  1. Install Dependencies
# Clone the repository
git clone https://github.com/simstudioai/sim.git
cd sim

# Install dependencies
bun install
  1. 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_KEY is 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.
  1. Set Up Database
# Push the database schema
cd apps/sim
bunx drizzle-kit push
  1. Start Development Server
# Start the development server
cd ../..
bun run dev
  1. Open http://localhost:3000 in your browser

Tech Stack

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