Kanchi Logo Kanchi
Getting Started

Quickstart

Run Kanchi locally in under 5 minutes.

Get Kanchi running alongside your Celery workers in minutes. This guide assumes you already have a message broker (RabbitMQ or Redis) running.

Prerequisites: You need a running message broker that your Celery workers are connected to. Kanchi monitors task events from this broker — it doesn't manage broker infrastructure for you.

Quick start with Docker

The fastest way to run Kanchi is with Docker. No repository cloning required—just create a compose file and start the container.

Create a docker-compose.yaml file

Create a new directory and save the following as docker-compose.yaml:

services:
  kanchi:
    image: getkanchi/kanchi:latest
    container_name: kanchi
    ports:
      - "3000:3000"
      - "8765:8765"
    environment:
      # Required: Your Celery broker connection string
      CELERY_BROKER_URL: ${CELERY_BROKER_URL}

      # Optional: Database (defaults to SQLite)
      DATABASE_URL: ${DATABASE_URL:-sqlite:////data/kanchi.db}

      # Optional: Frontend URLs
      NUXT_PUBLIC_API_URL: ${NUXT_PUBLIC_API_URL:-http://localhost:8765}
      NUXT_PUBLIC_WS_URL: ${NUXT_PUBLIC_WS_URL:-ws://localhost:8765/ws}
    volumes:
      - kanchi-data:/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8765/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

volumes:
  kanchi-data:

Set your broker connection

Export CELERY_BROKER_URL or place it in a .env file:

export CELERY_BROKER_URL=amqp://user:pass@rabbitmq-host:5672//
export CELERY_BROKER_URL=redis://localhost:6379/0

Or create a .env file alongside docker-compose.yaml:

CELERY_BROKER_URL=amqp://user:pass@rabbitmq-host:5672//

Start Kanchi

docker compose up -d --pull always

This pulls the latest image from Docker Hub and starts the container. Access the dashboard at http://localhost:3000

Verify the connection

Check the logs to confirm Kanchi connected to your broker:

docker compose logs -f kanchi

You should see: Connected to broker in the output.

The same command handles both initial deployment and updates. Just re-run docker compose up -d --pull always to update.

Local development setup

If you're developing Kanchi or want to run it without Docker:

Install dependencies

You'll need:

  • Python 3.8+ with Poetry
  • Node.js 20+ with npm
  • A running message broker (RabbitMQ or Redis)
# Clone the repository
git clone https://github.com/getkanchi/kanchi.git
cd kanchi

# Backend dependencies
cd agent
poetry install

# Frontend dependencies
cd ../frontend
npm install

Configure environment variables

Create a .env file or export variables:

# Required: broker connection
export CELERY_BROKER_URL=amqp://guest:guest@localhost:5672//

# Optional: database (defaults to SQLite)
export DATABASE_URL=sqlite:///kanchi.db

# Optional: API URLs for frontend
export NUXT_PUBLIC_API_URL=http://localhost:8765
export NUXT_PUBLIC_WS_URL=ws://localhost:8765/ws

Start the application

From the project root:

make dev

This starts both the FastAPI backend (port 8765) and Nuxt frontend (port 3000).

Access the dashboard

Open http://localhost:3000 in your browser.

Generate test tasks

If you want to see Kanchi in action without a production workload, use the included test environment:

cd scripts/test-celery-app

# Start RabbitMQ, Redis, and test Celery workers
make start

# Generate mixed task load (success, failures, retries)
make test-mixed

# Generate only successful tasks
make test-success

# Generate only failing tasks
make test-failure

# Stop test environment
make stop

Tasks will appear in the Kanchi dashboard in real-time as they execute.

Verify your setup

Check backend health

curl http://localhost:8765/api/health

You should get a 200 OK response.

Verify broker connection

Check application logs for "Connected to broker" messages:

tail -f kanchi.log
docker compose logs -f kanchi

Run a test task

Execute a task from your Celery application. It should appear in the Kanchi dashboard within seconds.

Troubleshooting

Next steps

Now that Kanchi is running, explore the core features: