Skip to content

Installation

Prerequisites

  • Python 3.14+
  • PostgreSQL 14+
  • A Celery broker (RabbitMQ, LavinMQ, Redis, ...)
  • uv

Install and migrate

git clone https://github.com/KalvadTech/taskowl.git
cd taskowl
make install

export DATABASE_URL="postgresql+asyncpg://user:pass@localhost:5432/taskowl"
export CELERY_BROKER_URL="amqp://guest:guest@localhost:5672//"

make migrate

Run the three processes

Open three terminals:

make api       # REST API on :8000
make consume   # Celery event consumer
make mcp       # MCP server on :8001

Docker Compose

taskowl ships a docker-compose.yml that runs the API, consumer, and MCP server alongside PostgreSQL and RabbitMQ:

docker compose up --build

The API is on http://localhost:8000, the MCP server on http://localhost:8001/mcp.

Verify it's working

  1. Confirm the consumer connected to the broker:
make consume 2>&1 | grep "Connected to Celery broker"
  1. Check the API health endpoint:
curl http://localhost:8000/health
# {"status":"ok"}
  1. Make sure your Celery app emits events — without them taskowl sees nothing.