| title | Installation and setup |
|---|---|
| description | Install open·kritt, configure one model-access option, and start the stack. |
open·kritt runs locally with Docker Compose. The repository includes ./kritt, an
interactive CLI that creates the environment file, guides model access setup, and starts
the stack. It does not need an npm install step.
- Docker Desktop, or Docker Engine with the Docker Compose plugin
- Git
- Node.js 20 or newer for the repository-local CLI
The manual Docker path does not use host Node.js. This is useful on distributions whose default package repository still provides Node 16 or 18.
The full source build, five long-running services (plus the one-shot runner-image helper), and scan startup have been exercised on each of these Linux combinations:
| Distribution | x86_64 | ARM64 | Startup paths checked |
|---|---|---|---|
| Ubuntu 24.04 | Yes | Yes | ./kritt start, manual Compose |
| Debian 12 | Yes | Yes | manual Compose, development overlay |
| Rocky Linux 9 | Yes | Yes | ./kritt start, manual Compose with SELinux Enforcing |
Docker Desktop remains the normal macOS/Windows development path, but it was not part of that Linux cloud matrix. Images are built for the host architecture; no amd64 emulation is required on the tested ARM64 hosts.
Check the version before running the CLI:
node --versionOn Ubuntu 24.04 or Debian 12, the distribution default may be older than Node 20. One repeatable option is the NodeSource 22.x repository:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node --versionOn Rocky Linux 9, select a current AppStream rather than installing its default stream:
sudo dnf module reset -y nodejs
sudo dnf module enable -y nodejs:20
sudo dnf install -y nodejs
node --versionIf your distribution does not offer a suitable stream, use a Node version manager or skip the CLI and follow Manual Docker setup.
On Linux, verify Docker access before setup. Both commands must succeed as your regular user:
docker info >/dev/null
docker compose versionIf Docker requires sudo, configure non-root Docker access
or use rootless Docker before running
the open·kritt CLI.
After startup, open http://localhost:5173. The backend health
endpoint is available at http://localhost:3002/api/health.
On a machine without a browser, keep the stack running and use
./kritt-headless from another shell.
You need one of the following options to create scans:
| Option | When to use it |
|---|---|
| Codex login (recommended) | Use eligible ChatGPT/Codex subscription access through the guided device flow. |
OPENAI_API_KEY |
Use an OpenAI Platform API key with the Codex harness. |
CODEX_API_KEY |
Use the same kind of OpenAI Platform key as a direct Codex execution override. |
ANTHROPIC_API_KEY |
Use Claude Code with Anthropic API billing. |
OPENROUTER_API_KEY |
Route a compatible model through OpenRouter. |
GITHUB_TOKEN is separate from model access. Add it only when the scan needs to clone a
private GitHub repository or dependency.
The setup screen shows which options are present, lets you set, replace, unset, or learn about them, and never prints credential values.
For detailed instructions, choose the Codex, Claude Code, or OpenRouter guide. The guides explain where to obtain the credential, how it is billed, which harness it enables, and how to verify it.
| Command | Purpose |
|---|---|
./kritt |
Open the full-screen interactive menu. Arrow keys navigate, Enter selects, and Esc or Ctrl+C exits. |
./kritt setup |
Create .env when needed and configure model access or the optional GitHub token. |
./kritt start |
Check setup, then run docker compose up --build. Ctrl+C stops the attached stack. |
./kritt help |
Show command guidance. Use ./kritt help setup or ./kritt help start for a specific command. |
./kritt-headless |
Operate a running stack without the web UI: import resources, create and inspect scans, configure settings, and export results. |
./kritt-headless help |
Show headless interactive and command-mode usage. |
The CLI is the recommended path. To configure the stack manually with an API key instead:
cp .env.example .env
chmod 600 .env
# Set one provider credential in .env: OPENAI_API_KEY, CODEX_API_KEY,
# ANTHROPIC_API_KEY, or OPENROUTER_API_KEY.
mkdir -p .data/codex
chmod 700 .data/codex
docker compose up --buildOnce the stack is running, load sample workflows, scans, and findings to explore the UI:
docker compose exec backend npm run seedThe demo seed is additive and idempotent. It preserves existing workflows, scans, findings, post-scripts, and triage data, and skips demo records that already exist.
Next: review AI provider setup, then build your first workflow.

