Installation
Requirements
Section titled “Requirements”- 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 protobufon macOS) - just task runner (
brew install justorcargo install just)
# macOSbrew 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/UbuntuClone and Configure
Section titled “Clone and Configure”git clone https://github.com/AriSteffworking/fabric.gitcd fabriccp .env.example .envEdit .env to add any remote AI provider keys you want (all optional for local-only development):
# .env — only DATABASE_URL is required; everything else has defaultsDATABASE_URL=postgres://fabric:fabric@localhost:5432/fabricRUST_LOG=infoOAUTH_SIGNING_SECRET=dev-signing-secret-at-least-32-characters-long!!OLLAMA_ENABLED=trueASSET_STORE_URL=file:///tmp/fabric/assetsSee Configuration for the full list of environment variables.
Infrastructure
Section titled “Infrastructure”Fabric’s local stack is managed via docker-compose.local.yml with Docker Compose profiles.
Start Infrastructure
Section titled “Start Infrastructure”just infra-up # Full stack: Postgres + Ollama + Whisperjust infra-up-db # Postgres only (no AI services)just infra-up-ai # Postgres + AI servicesjust infra-down # Stop everythingjust infra-reset # Destroy volumes and restart freshDocker Compose profiles:
- default — Postgres only
- ai — Postgres + Ollama + Whisper + ComfyUI
- full — Everything
Postgres
Section titled “Postgres”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.
just infra-psql # Open psql shelljust infra-migrate # Re-apply migrationsjust infra-smoke-test # Verify migrations on clean DBOllama (Local LLMs)
Section titled “Ollama (Local LLMs)”Starts automatically with just infra-up. Default models (Qwen3, nomic-embed-text) pull in background.
just ollama-pull llama3.2:latest # Pull additional modelsjust ollama-pull deepseek-r1:latestjust ollama-list # List available modelsAvailable at http://localhost:11434.
Whisper (Audio Transcription)
Section titled “Whisper (Audio Transcription)”Starts automatically with just infra-up. Uses faster-whisper-server with the large-v3 model.
Available at http://localhost:8080.
cargo build --workspaceQuality Checks
Section titled “Quality Checks”just fmt # Format all codejust clippy # Lint with -D warningsjust test # Run all testsjust doc # Build docsjust ci # All of the abovejust dev # Start control plane + executor (recommended)just run # Start control plane onlyServer listens on http://localhost:3001. Verify with:
curl http://localhost:3001/healthz# {"status":"ok"}What’s Next?
Section titled “What’s Next?”- Quick Start — Register an app and run your first workflow
- Configuration — All environment variables and CLI flags
- Local Models — Set up Ollama, Whisper, and other local AI