Skip to main content

Deploy AI stacks with one command โ€” OpenClaw, Ollama, and Qdrant, fully containerized. Default LLM: Anthropic (Claude) when ANTHROPIC_API_KEY is set; Ollama (Llama 3.2) as fallback. Set ANTHROPIC_API_KEY in your environment or in ~/.krakenwhip/deployments/openclaw/.env. KrakenWhip prompts for it during `krakenwhip deploy openclaw` if not set.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

๐Ÿ™ KrakenWhip

Deploy AI stacks with one command โ€” OpenClaw and more, containerized by KrakenWhip.

KrakenWhip takes the pain out of AI infrastructure: one command spins up OpenClaw (and Ollama, Qdrant) fully containerizedโ€”no host installs, no config archaeology. Run it locally with Docker Compose or ship it to the cloud with Terraform. Same stack, same containers, anywhere.

Overview

KrakenWhip is a Python CLI that deploys pre-built AI stacks so you can run OpenClaw, Ollama, Qdrant, and similar tools without wiring Docker and config by hand.

  • Local: Docker Compose stacks under ~/.krakenwhip/deployments/<stack>/ โ€” all services run in containers and are exposed on localhost (no host installs).
  • Cloud (Pro): Terraform-based deploys (Azure supported; AWS, GCP, DigitalOcean planned)

Tech stack: Typer + Rich for the CLI, Jinja2 for templates, docker compose (with fallback to standalone docker-compose). Cloud: Terraform with Azure provider. Python 3.9+.

How it works: Templates live in krakenwhip/templates/ (e.g. openclaw, ollama, rag). Each has a docker-compose.yml.j2, optional config/ and env.example. The deploy flow creates the deployment dir, renders templates, runs docker compose pull and up, and can pre-pull Ollama models. Use krakenwhip doctor to check Docker, disk, and ports.

Highlights: Clear separation (CLI, deploy engine, templates, doctor), good UX (progress, dry-run, panels), CI on Python 3.10โ€“3.12 with ruff and pytest. OpenClaw stack is the primary, fully supported path.

Current limitations: Pro/cloud path requires a license key (check not yet implemented). Cloud deploy exits after the license prompt โ€” Terraform is not invoked from the CLI yet. The ollama and rag templates are in the registry but may be incomplete.

Quick Start

pip install krakenwhip

# Deploy OpenClaw stack locally (free)
krakenwhip deploy openclaw
# Gateway: http://localhost:18789   Qdrant: http://localhost:6333

# Deploy to Azure (pro)
krakenwhip deploy openclaw --cloud azure

The OpenClaw stack uses Anthropic (Claude) as the default model when ANTHROPIC_API_KEY is set (prompted during setup or in ~/.krakenwhip/deployments/openclaw/.env). Ollama (Llama 3.2) is configured as fallback when the key is missing or for local-only use.

What You Get

krakenwhip deploy openclaw

A complete AI assistant stack:

  • OpenClaw โ€” personal AI agent framework (gateway on port 18789 by default)
  • Ollama โ€” local LLM inference (Llama, Mistral, Qwen, etc.); default is Anthropic (Claude) when ANTHROPIC_API_KEY is set, with Ollama as fallback
  • Qdrant โ€” vector database for memory (API and dashboard on port 6333)

Important: OpenClaw, Ollama, and Qdrant all run inside Docker containers. Nothing is installed directly on your host. Container ports are mapped to localhost, so you use the stack at http://localhost:18789 (gateway) and http://localhost:6333 (Qdrant)โ€”containers on the inside, localhost on the outside.

All pre-configured, networked, and ready to go. Deployment files and secrets live in ~/.krakenwhip/deployments/openclaw/ (including .env and config/). To change ports or re-run compose, use the same directory:

cd ~/.krakenwhip/deployments/openclaw
# Optional: edit docker-compose.yml or .env, then:
docker compose up -d

ASCII Architecture Diagram

OpenClaw stack deployed by KrakenWhip โ€” all services run in containers; you access them via localhost.

                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ”‚  Host (localhost)                                        โ”‚
                    โ”‚                                                          โ”‚
  krakenwhip        โ”‚   :18789 (gateway)        :6333 (Qdrant API/dashboard)   โ”‚
  deploy openclaw   โ”‚         โ”‚                          โ”‚                     โ”‚
        โ”‚           โ”‚         โ–ผ                          โ–ผ                     โ”‚
        โ–ผ           โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”‚
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚  โ”‚   Browser    โ”‚            โ”‚   Browser     โ”‚          โ”‚
  โ”‚ KrakenWhip  โ”‚   โ”‚  โ”‚   / Client  โ”‚            โ”‚   / Client   โ”‚          โ”‚
  โ”‚    CLI      โ”‚   โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚         โ”‚                          โ”‚                     โ”‚
         โ”‚          โ”‚         โ”‚                          โ”‚                     โ”‚
         โ”‚          โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
         โ”‚          โ”‚  โ”‚  Docker bridge network (krakenwhip)     โ”‚             โ”‚
         โ”‚          โ”‚  โ”‚                                         โ”‚             โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”ผโ”€โ”€โ–บ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                  โ”‚             โ”‚
                    โ”‚  โ”‚    โ”‚ krakenwhip-     โ”‚                  โ”‚             โ”‚
                    โ”‚  โ”‚    โ”‚ openclaw        โ”‚โ—„โ”€โ”€โ”€ :18789       โ”‚             โ”‚
                    โ”‚  โ”‚    โ”‚ (gateway + UI)  โ”‚                  โ”‚             โ”‚
                    โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                  โ”‚             โ”‚
                    โ”‚  โ”‚             โ”‚                           โ”‚             โ”‚
                    โ”‚  โ”‚      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚             โ”‚
                    โ”‚  โ”‚      โ–ผ             โ–ผ                    โ”‚             โ”‚
                    โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”‚
                    โ”‚  โ”‚  โ”‚ krakenwhip-     โ”‚  โ”‚ krakenwhip-      โ”‚โ—„โ”€โ”€โ”€โ”€ :6333 โ”‚
                    โ”‚  โ”‚  โ”‚ ollama (LLM)    โ”‚  โ”‚ qdrant (vectors) โ”‚            โ”‚
                    โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚
                    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • KrakenWhip CLI renders config and runs docker compose up; all services run inside containers.
  • OpenClaw talks to Ollama and Qdrant over the internal network; only the gateway (18789) and Qdrant (6333) are exposed on localhost.

Pricing

Tier What Price
Free Local Docker Compose stacks $0
Pro Cloud templates (Terraform), priority support $15/mo or $29 one-time

Stack Templates

Available Now

  • openclaw โ€” Full OpenClaw + Ollama + Qdrant
  • ollama โ€” LocalHost Ollama with model management
  • rag โ€” RAG pipeline (Qdrant + embeddings API)

Coming Soon

  • langchain โ€” LangChain + vector store + API
  • comfyui โ€” ComfyUI + model cache

Commands

krakenwhip deploy <stack>          # Deploy a stack locally
krakenwhip deploy <stack> --cloud <provider>  # Deploy to cloud (pro)
krakenwhip list                    # List available stacks
krakenwhip status [<stack>]         # Check running stacks
krakenwhip stop <stack>            # Stop a stack (preserves data)
krakenwhip destroy <stack>         # Remove a stack (use --volumes to remove data)
krakenwhip logs <stack>            # View stack logs
krakenwhip doctor                  # Diagnose common issues

Deploy options (e.g. for openclaw): --port / -p (gateway port), --ollama-port (expose Ollama on host), --dry-run (render config only), --gpu, --models llama3.1,mistral, --api-key / -k (Anthropic), --skip-setup (skip interactive prompts).

Check Ollama and Qdrant

Use the stack name you deployed (e.g. openclaw if you ran krakenwhip deploy openclaw). Status and logs only work for stacks that are already deployed.

# If you deployed OpenClaw (includes Ollama + Qdrant)
krakenwhip status openclaw
krakenwhip logs openclaw --service ollama
krakenwhip logs openclaw --service qdrant

Cloud Providers (Pro)

Provider Status
Azure โœ… Available
AWS ๐Ÿ”œ Coming Soon
GCP ๐Ÿ”œ Coming Soon
DigitalOcean ๐Ÿ”œ Coming Soon

Requirements

  • Python 3.9+
  • Docker & Docker Compose (for local deploys)
  • Terraform (for cloud deploys, auto-installed if missing)

License

MIT โ€” Free and open source.

Cloud templates require a Pro license key.


Built by NeuroGamingLab ยท Dare to Dream, Inspire Leadership, and Spark Innovation Through Diverse Ideas.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

krakenwhip-0.1.0.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

krakenwhip-0.1.0-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file krakenwhip-0.1.0.tar.gz.

File metadata

  • Download URL: krakenwhip-0.1.0.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for krakenwhip-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bc924204a86792d82f502b072ea8cbb8a9db51faeb3a3a62672eadce362c1206
MD5 d23d04403b7e3c487d980238ff26a205
BLAKE2b-256 1bfae666b96408add88cacee7fa511bd473d03f1500682bff659d0411e59e4b1

See more details on using hashes here.

File details

Details for the file krakenwhip-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: krakenwhip-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for krakenwhip-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0a2d4b541157a7a69becec129143720af8f282b815150cf4d9b65bf06113bdf
MD5 0ac6747e17c37bd706dbff3d206c8030
BLAKE2b-256 7932b26368ba5b747544f854dfe2c44dc514bfc6be90802c19600aae6b8c136d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page