Installation
Requirements
Section titled “Requirements”- Rust stable (1.75+)
- Docker for local Postgres, Ollama, and Whisper
- protoc for protobuf generation (
brew install protobufon macOS) - just task runner (
brew install justorcargo install just)
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.
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 aboveDatabase Migrations
Section titled “Database Migrations”Postgres with 6 migrations:
| Migration | Content |
|---|---|
0001 | Tenancy, identity, RBAC, API keys, audit logs |
0002 | Workflow definitions, runs, nodes, events |
0003 | Seed roles (Owner, Admin, Member, Viewer) |
0004 | Executor claiming (leases, worker state) |
0005 | API key org linking, usage records, audit indexes |
0006 | Node runtime model (operation, runtime, bindings, policy, execution attempts) |