CLI
The ZəkaHouse CLI is the primary tool for deploying, managing, and developing ZəkaHouse. It orchestrates Docker Compose services and provides an interactive setup wizard for production deployments, as well as a full local development environment.
$ zeka-learnhouse --help
Usage: zeka-learnhouse [options] [command]
The ZakaHouse CLI — deploy, manage, and operate your ZakaHouse instanceInstallation
The CLI ships inside the ZəkaHouse repository — it is not published to npm. You build it from a clone of the repository and run it from there.
Don’t use npx learnhouse. That resolves to the unrelated learnhouse package on the public npm registry, which installs upstream LearnHouse — a different product — not ZəkaHouse.
1. Install the prerequisites
You need Docker (with Docker Compose v2), Node.js 18+, and Bun. On macOS or Linux, apps/cli/install.sh in the repository installs Docker and Node.js for you; on Windows, use apps/cli/install.ps1.
2. Build the CLI
From a clone of the repository:
cd apps/cli
bun install
bun run build3. Put zeka-learnhouse on your PATH
The examples throughout these docs call the CLI as zeka-learnhouse. Link it once from apps/cli to make that command available everywhere:
npm linkAlternatively, skip linking and run it directly from apps/cli — bun dist/bin/learnhouse.js <command> is equivalent to zeka-learnhouse <command>.
4. Run the setup wizard
zeka-learnhouse setupRequirements
- Node.js 18+
- Bun (to build the CLI)
- Docker with Docker Compose v2
What It Does
The CLI handles two main workflows:
Production Deployment
The setup wizard generates a complete Docker Compose deployment with:
- ZəkaHouse app (
learnhouse-app) container (Next.js + FastAPI) - PostgreSQL database (with optional pgvector for AI)
- Redis cache
- Caddy or Nginx reverse proxy (with optional auto-SSL)
Each deployment gets a unique ID, allowing multiple instances on the same machine.
Local Development
The dev command starts infrastructure in Docker and runs the API, web, and collaboration servers locally with hot reload.
Quick Reference
| Command | Description |
|---|---|
zeka-learnhouse setup | Interactive setup wizard |
zeka-learnhouse start | Start all services |
zeka-learnhouse stop | Stop all services |
zeka-learnhouse update | Update to latest or a specific version |
zeka-learnhouse status | Show service status |
zeka-learnhouse health | Run health checks |
zeka-learnhouse logs | Stream container logs |
zeka-learnhouse config | Show installation info |
zeka-learnhouse env | Edit environment variables |
zeka-learnhouse backup | Backup database |
zeka-learnhouse restore <archive> | Restore database from backup |
zeka-learnhouse doctor | Run diagnostics |
zeka-learnhouse deployments | Manage deployments & resource limits |
zeka-learnhouse scale | Set memory limits per service (app, db, redis) |
zeka-learnhouse shell | Open shell in a container |
zeka-learnhouse dev | Start dev environment |
zeka-learnhouse redeploy | Redeploy the Railway service with staged env vars |
See Commands for the full reference including all flags.