Quick Start
The fastest way to run OpenCLM is with Docker Compose. The entire stack — frontend, backend API, Postgres database, and Keycloak identity provider — starts with a single command.

Prerequisites
| Requirement | Version |
|---|---|
| Docker | 24 + |
| Docker Compose | v2.20 + |
| RAM | 4 GB minimum |
| Disk | 10 GB free |
Step 1 — Clone the repository
git clone https://github.com/nxglabs/openclm.git
cd openclm
Step 2 — Configure environment variables
Copy the example environment file and edit it:
cp .env.example .env
Open .env and at a minimum set:
# A strong secret used to sign JWTs
JWT_SECRET=change-me-to-something-long-and-random
# Postgres credentials
POSTGRES_USER=openclm
POSTGRES_PASSWORD=change-me
POSTGRES_DB=openclm
# The public URL users will navigate to
APP_URL=http://localhost:3000
tip
See the full list of environment variables in Environment Variables.
Step 3 — Start the stack
docker compose up -d
Docker will pull all images (≈ 800 MB on first run) and start:
openclm-app— React frontend (port 3000)openclm-api— Node.js backend (port 4000)openclm-db— PostgreSQL 15openclm-keycloak— Keycloak 22 (port 8080)
Step 4 — Run database migrations
docker compose exec api npx prisma migrate deploy
docker compose exec api npx prisma db seed
The seed command creates the default roles and a Super Admin user:
| Field | Default value |
|---|---|
[email protected] | |
| Password | Admin@1234 |
:::warning Change the default password Log in and immediately change the Super Admin password under Settings → Account. :::
Step 5 — Open OpenCLM
Navigate to http://localhost:3000 in your browser.
Log in with the default Super Admin credentials from Step 4.
Next Steps
- Understand core concepts — roles, contracts, workflows, and more.
- Create your first contract — step-by-step guide.
- Invite your team — add users and assign roles.
- Configure SSO — connect your identity provider.