Skip to content

Installation

  • Rust stable (MSRV 1.75, recommended 1.88+)
  • Python 3.11+ with pip (for Sayiir workflow engine)
  • Docker for local Postgres, Ollama, and Whisper
  • protoc for protobuf generation (brew install protobuf on macOS)
  • just task runner (brew install just or cargo install just)
Terminal window
# macOS
brew install just protobuf
# Linux (just)
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash
# Linux (protoc)
sudo apt install -y protobuf-compiler # Debian/Ubuntu
Terminal window
git clone https://github.com/AriSteffworking/fabric.git
cd fabric
cp .env.example .env

Edit .env to add any remote AI provider keys you want (all optional for local-only development):

Terminal window
# .env — only DATABASE_URL is required; everything else has defaults
DATABASE_URL=postgres://fabric:fabric@localhost:5432/fabric
RUST_LOG=info
OAUTH_SIGNING_SECRET=dev-signing-secret-at-least-32-characters-long!!
OLLAMA_ENABLED=true
ASSET_STORE_URL=file:///tmp/fabric/assets

See Configuration for the full list of environment variables.

Fabric’s local stack is managed via docker-compose.local.yml with Docker Compose profiles.

Terminal window
just infra-up # Full stack: Postgres + Ollama + Whisper
just infra-up-db # Postgres only (no AI services)
just infra-up-ai # Postgres + AI services
just infra-down # Stop everything
just infra-reset # Destroy volumes and restart fresh

Docker Compose profiles:

  • default — Postgres only
  • ai — Postgres + Ollama + Whisper + ComfyUI
  • full — Everything

Connection string: postgres://fabric:fabric@localhost:5432/fabric

Migrations are auto-applied on first start via Docker’s initdb.d. There are 54 migrations covering tenancy, workflows, auth, executor, events, assets, webhooks, and more.

Terminal window
just infra-psql # Open psql shell
just infra-migrate # Re-apply migrations
just infra-smoke-test # Verify migrations on clean DB

Starts automatically with just infra-up. Default models (Qwen3, nomic-embed-text) pull in background.

Terminal window
just ollama-pull llama3.2:latest # Pull additional models
just ollama-pull deepseek-r1:latest
just ollama-list # List available models

Available at http://localhost:11434.

Starts automatically with just infra-up. Uses faster-whisper-server with the large-v3 model.

Available at http://localhost:8080.

Terminal window
cargo build --workspace
Terminal window
just fmt # Format all code
just clippy # Lint with -D warnings
just test # Run all tests
just doc # Build docs
just ci # All of the above
Terminal window
just dev # Start control plane + executor (recommended)
just run # Start control plane only

Server listens on http://localhost:3001. Verify with:

Terminal window
curl http://localhost:3001/healthz
# {"status":"ok"}