Skip to main content

Installation

Prerequisites

RequirementVersionPurpose
DockerLatestContainer orchestration
MakeAnyBuild commands (optional)
uv0.11+Python dependency management (contributors only — end users only need Docker)

You also need an LLM provider. Ollama is recommended for fully local operation.

Install uv via the official installercurl -LsSf https://astral.sh/uv/install.sh | sh on macOS/Linux, or the equivalent PowerShell command on Windows.

The fastest way to get Chaos Cypher running. A single container with all services bundled.

Pre-built images — GA pending

Pre-built Docker images at ghcr.io/chaoscypherinc/chaoscypher will be available at general availability. Until then, build locally from the repository:

git clone https://github.com/chaoscypherinc/chaoscypher.git
cd chaoscypher
make docker-up

This starts everything at http://localhost:

PortService
80Web UI + REST API (via Nginx)
443HTTPS (optional, requires TLS certs)

Startup

While services initialize, the browser shows a startup page with live component health indicators and a real-time log viewer. Once all services are ready, the page automatically redirects to the application.

If you encounter an error, custom error pages provide contextual messages and a link to report issues on GitHub with pre-filled diagnostic information.

Verify

Open http://localhost in your browser. You should see the startup page briefly, then the Chaos Cypher interface.

Check the API is responding:

curl http://localhost/api/v1/settings

Multi-Container (Development)

For contributors working from an approved development checkout who need hot-reload and per-service logs. Requires Python 3.14+ and Node.js 22+.

cd chaoscypher
make install
make docker-dev

make install handles:

  • Installing Python packages for all backend packages (core, cortex, neuron, cli)
  • Installing Node.js dependencies for the interface
  • Setting up pre-commit hooks
  • Building the Docker test image

This starts separate containers:

ServiceURLDescription
Interfacehttp://localhost:3000Web UI (Vite HMR)
Cortex APIhttp://localhost:8080/api/v1REST API (auto-restart)
Queue Monitorhttp://localhost:3000/queue-monitorJob queue dashboard
ValkeyInternal onlyQueue backend

Local Development (without Docker services)

Start services individually after make install:

cc-cortex start
Valkey required

The worker (Neuron) requires Valkey. Start it separately:

docker run -d -p 6379:6379 valkey/valkey:8-alpine

CLI Only

If you only need the command-line interface:

pip install chaoscypher-cli

Verify:

chaoscypher --help

LLM Provider Setup

Chaos Cypher requires an LLM provider for chat and entity extraction. Embeddings are generated locally on the CPU and do not require an LLM provider.

Install Ollama and pull the default models:

ollama pull qwen3:30b-instruct

No additional configuration needed — Ollama is the default provider.

Embeddings

Vector embeddings are generated locally on the CPU using sentence-transformers. No LLM provider configuration is needed for embeddings — they work automatically and offline.

Next Steps

Quick Start walkthrough

Troubleshooting

Port already in use

If port 80 is taken, change the host port in your environment:

HOST_PORT_HTTP=8080 make docker-up

Volume permissions

The container runs as appuser (uid 1000). If you see permission errors on mounted volumes, ensure the host directory is writable by uid 1000.

Switching between deployment modes

When switching between all-in-one and multi-container modes, stop all services first to avoid port conflicts:

make docker-down
Security defaults

By default, Cortex binds to 0.0.0.0. Read the self-hosted threat model before exposing the service beyond loopback.