Skip to content

Deployment

arbe runs on three Cloudflare Workers under the oskar@rough.dk account (b29de5cf62555d67d57242aeddc91344):

  • App worker (packages/www) — SvelteKit UI + API routes. https://arbe.0sk.ar
  • Agents worker (packages/worker) — Hosts the HusAgent Durable Object runtime. https://hus-agents.0skar.workers.dev
  • Docs worker (packages/www-docs) — Astro docs site. https://docs.arbe.0sk.ar / https://arbe-docs.0skar.workers.dev

The app worker dispatches bot activations to the agents worker over authenticated HTTP. The HUS_AGENT binding in packages/www/wrangler.jsonc still exists for RPC-only paths like setup and introspection.

Setup

  1. Copy secrets template and fill in values:
Terminal window
cp packages/www/.env.example packages/www/.env.local

See environment-variables.md for the full list — public vars, local dev secrets, and production secrets.

  1. Install dependencies:
Terminal window
bun install

Build

Terminal window
bun run build

Deploy

The agents worker must be deployed before (or alongside) the app worker, since dispatch targets the deployed worker URL and the app’s HUS_AGENT binding still references the hus-agents script for RPC-only paths.

Agents worker

  1. Set Wrangler secrets (one-time):
Terminal window
cd packages/worker
bunx wrangler secret put DURABLE_STREAMS_SECRET
bunx wrangler secret put ANTHROPIC_API_KEY
bunx wrangler secret put SUPABASE_PUBLISHABLE_KEY
  1. Deploy:
Terminal window
cd packages/worker
bunx wrangler deploy

Docs worker

Terminal window
cd packages/www-docs
bunx wrangler deploy

App worker

  1. Set Wrangler secrets (one-time):
Terminal window
cd packages/www
bunx wrangler secret put SUPABASE_JWT_SECRET
bunx wrangler secret put DURABLE_STREAMS_SECRET
bunx wrangler secret put ELECTRIC_SOURCE_ID
bunx wrangler secret put ELECTRIC_SOURCE_SECRET
  1. Deploy:
Terminal window
cd packages/www
bunx wrangler deploy

Supabase auth

GitHub OAuth is configured in the Supabase Dashboard, not in code:

  1. Auth > URL Configuration: add redirect URLs — http://localhost:5173/auth/callback (local dev), https://arbe.0sk.ar/auth/callback (production)
  2. Auth > Providers > GitHub: enable, add Client ID and Secret from your GitHub OAuth App
  3. GitHub OAuth App (github.com/settings/developers): set callback URL to https://<project-ref>.supabase.co/auth/v1/callback