Skip to content

Installation

This page is a quick-start for standing up an Orchestra instance. For a local evaluation cluster, follow the local path. For a real deployment, the Helm and cloud guides under Deployment are the source of truth — this page just orients you.

  • A Kubernetes cluster (Docker Desktop’s built-in cluster is fine for local eval; GKE/EKS/etc. for production).
  • kubectl and helm on your PATH.
  • An ingress controller (Orchestra is tested with Traefik) and, for real domains, cert-manager for TLS.
  • A Google OAuth client for login (see oauth2-proxy Setup).

Orchestra is not tied to orchestraplatform.org — that’s just the reference deployment. You pick your own base domain with a single value:

Terminal window
--set global.domain=orchestra.example.edu

Everything derives from it: app.<domain> (dashboard), api.<domain> (API), and *.<domain> (one subdomain per workshop session). Two things must be set to match your domain, since they aren’t auto-derived:

  • the oauth2-proxy redirect-url / cookie-domain / whitelist-domain values, and
  • the Google OAuth console authorized redirect URI: https://app.<domain>/oauth2/callback.

The repo’s justfile wraps the local setup against Docker Desktop’s Kubernetes.

  1. Install toolchains and dependencies:

    Terminal window
    just setup
  2. Prepare the local cluster (switches to the docker-desktop context, installs Traefik, applies the Orchestra CRDs, seeds .env files):

    Terminal window
    just dev-setup
  3. Run the stack (API, frontend, operator) — see Local Development for details:

    Terminal window
    just dev

Workshop sessions are reachable at http://<name>.127.0.0.1.nip.io:30080 (nip.io resolves to localhost — no DNS setup needed).