Skip to content

Installation

  • Rust stable (1.75+)
  • 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)

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.

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

Postgres with 6 migrations:

MigrationContent
0001Tenancy, identity, RBAC, API keys, audit logs
0002Workflow definitions, runs, nodes, events
0003Seed roles (Owner, Admin, Member, Viewer)
0004Executor claiming (leases, worker state)
0005API key org linking, usage records, audit indexes
0006Node runtime model (operation, runtime, bindings, policy, execution attempts)