An open-source platform to manage, test, and iterate on AI prompts across multiple LLM providers.
Genum centralizes prompt development so teams can create, evaluate, and compare prompts across providers in one place. It ships with a web UI and an API, and stores results in a stack optimized for both transactional data and analytics.
- Backend API:
apps/core(Node.js + Express + TypeScript + Prisma) - Frontend Web App:
apps/web(React + Vite + TypeScript) - Storage Stack: PostgreSQL + ClickHouse + MinIO (S3-compatible)
- Docker
- Docker Compose
- At least 4GB RAM
- 8GB free disk space
git clone https://github.com/GenumAI/genum
cd genumCreate a single .env file in the repo root. This is the only .env used across the project — do not create additional .env files in subfolders.
For local Docker, only AI provider keys are required to enable AI features. Everything else has defaults in docker-compose*.yml.
# AI Provider Keys (required only if you want AI features)
OPENAI_KEY=your_openai_key_here
ANTHROPIC_KEY=your_anthropic_key_here
GEMINI_KEY=your_gemini_key_hereTip: start from env.example (copy it to .env).
docker-compose up -dThis will:
- Build and start all services
- Run database migrations/seed on the backend
- Launch the web app
- Web UI:
http://localhost:3080 - API:
http://localhost:3010
- PostgreSQL: Primary transactional database (users, projects, prompts, runs)
- ClickHouse: Analytics and fast aggregations over events/results
- MinIO: S3-compatible object storage (artifacts, datasets, files)
| Service | Role | Default Port |
|---|---|---|
core |
Backend API | 3010 |
web |
Frontend UI | 3080 |
postgres |
Primary DB | 5432 (localhost only) |
clickhouse |
Analytics DB (HTTP) | 8123 (localhost only) |
clickhouse |
Analytics DB (native) | 9000 (localhost only) |
minio |
S3-compatible storage | 9090 (API), 9091 (console) |
OPENAI_KEY: OpenAI API keyANTHROPIC_KEY: Anthropic API keyGEMINI_KEY: Google API key
You can add any combination of these keys depending on which providers you want to use. Without them, Genum works but AI features are disabled.
# Start
docker-compose up -d
# Stop
docker-compose down
# Logs
docker-compose logs -f
# Rebuild and restart
docker-compose up -d --build
# Remove all data (destructive)
docker-compose down -v- Review logs
docker-compose logs- Verify
API_URLbuild argument matches your backend URL - Inspect network:
docker network inspect genum_genum-network
For local development without Docker, install deps and run the monorepo dev task.
All apps read from the single root .env:
pnpm install
pnpm devpnpm dev runs dev servers for both apps/web and apps/core (via Turborepo).
You can also run them separately:
pnpm dev:web
pnpm dev:coreSee the app READMEs for details:
apps/core/apps/web/
Genum is distributed under the Business Source License 1.1 (BUSL).
- ✔ Personal use
- ✔ Educational use
- ✔ Research and experimentation
- ❌ Any commercial use
- ❌ Use inside a business or organization
- ❌ Internal business automation
- ❌ Enterprise deployment
- ❌ Integration into SaaS, services, or commercial tools
Genum is source-available, not open-source. There is no automatic conversion to an open-source license.
Yes. Personal use is fully allowed.
Yes. Educational and research usage is permitted.
Yes, as long as usage remains non-commercial.
No. Any organizational or business usage requires a commercial license.
No — unless you hold a commercial license from rockIT.consulting GmbH.
No. It is source-available under BUSL 1.1.
No. There is no scheduled transition to an open-source license.
Contact: enterprise@rockit.consulting
Coming soon...
