Getting started
This guide gets you to a running webapp/client on http://localhost:3000,
talking to the orchestration-cluster backend on http://localhost:8080.
Prerequisites
- Node.js via
fnm(recommended) ornvm. The repo pins Node inwebapp/client/.nvmrc—fnm use/nvm usereads it for you. - Java — the backend builds and runs with Maven. Install via
SDKMAN or Homebrew (
brew install openjdk@21). Check the current version on the project. - Docker — used by
make env-upto run Elasticsearch, and by Playwright's containerized browser for visual-regression tests. - make — wraps backend startup (
make env-up/make env-down) and VS Code config sync (make vscode-sync-all). Pre-installed on macOS and most Linux; Windows users install via WSL orchoco install make.
Clone & install
git clone https://github.com/camunda/camunda.git
cd camunda/webapp/client
fnm use # or: nvm use
npm ci
The workspace install covers all packages/* and apps/*.
Run the backend
From webapp:
make env-up
This boots Elasticsearch (Docker) and the orchestration-cluster backend on
http://localhost:8080, seeded with a demo / demo user. Tear it down with:
make env-down
Run the frontend
From webapp/client:
npm run dev:oc
The dev server opens http://localhost:3000. Vite proxies /v2, /login, and
/logout to :8080, so the frontend talks to the backend you started above.
Verify
- The dev page renders in the browser.
npm run lintexits clean.npm run typecheckexits clean.
Optional: VS Code setup
From the repo root:
make vscode-sync-all
Merges the repository's MCP and editor settings into your VS Code config.