Skip to main content

Installation

OrcFlows runs as three components: a Go API server, a Go Temporal worker (executes workflow steps), and a SvelteKit frontend. A handful of infrastructure services (Postgres, Redis, Temporal, etc.) run in Docker.

Prerequisites

1. Clone and configure

git clone https://github.com/goagents/platform.git
cd platform
cp .env.example .env

Review .env and fill in any provider credentials you have (LLM API keys, OAuth client IDs, etc.) — see Configuration for the full reference. Everything has sensible local defaults, so you can start with an empty .env and add credentials later from the Settings UI.

make start
# or directly:
./start.sh

start.sh will:

  1. Verify Docker, Go, and Node are installed and Docker is running.
  2. Copy .env.example.env if it doesn't exist yet.
  3. Start infrastructure containers via docker compose:
    • postgres (port 5433) — primary database
    • redis (port 6380)
    • temporal + temporal-ui (ports 7233 / 8081) — durable execution engine
    • searxng (port 8888) — self-hosted search for agent web-search tools
    • chromium (port 9222) — headless browser for the Playwright agent tool
    • minio (ports 9000/9001) — S3-compatible storage for workspace files
    • weaviate (port 8082) — optional vector DB for enterprise RAG
  4. Wait for Postgres to become healthy and run database migrations.
  5. Start the API server, Temporal worker, and frontend dev server as supervised background processes (auto-restart on crash).

When it finishes, the script prints the URLs for each service. By default:

ServiceURL
Frontend (SvelteKit)http://localhost:5173
API serverhttp://localhost:3001
Temporal Web UIhttp://localhost:8081
MinIO consolehttp://localhost:9001

To stop everything:

make stop
# or:
./stop.sh

3. Manual / development setup

If you'd rather run each component yourself (for example, to attach a debugger):

# 1. Start infrastructure only
docker compose up -d postgres redis temporal temporal-ui searxng chromium minio weaviate

# 2. Run database migrations
go run ./cmd/cli/... migrate up

# 3. In separate terminals:
make api # go run ./cmd/api/... — API server on :3001
make worker # go run ./cmd/worker/... — Temporal worker
make frontend # cd web && npm run dev — SvelteKit on :5173

4. Create your account

Open the frontend URL (http://localhost:5173) and register a new account. The first user to register on a fresh database becomes the owner of a new tenant (workspace) on the Free plan.

Next steps

  • Configuration — environment variables for LLM providers, OAuth, billing, and more.
  • Quickstart — build and run your first workflow.