OpenCrowd Documentation
Getting Started
Quick Start (5 minutes)
git clone https://github.com/opencrowd-io/opencrowd.git
cd opencrowd
cp .env.example .env
cd infrastructure/docker
docker compose up -d
Open http://localhost:3000 — you are running OpenCrowd.
Architecture
Frontend (React) → REST API → Spring Boot → PostgreSQL
↕
Keycloak (auth)
Valkey (cache)
Connectors (xWiki, OP, Nextcloud)
Connectors
| Connector | Capabilities |
|---|---|
| xWiki | Users, Groups, Spaces, Permissions (bidirectional) |
| OpenProject | Users, Groups, Projects, Memberships, Roles (bidirectional) |
| Nextcloud | Users, Groups, Shares, Memberships (bidirectional) |
Each connector syncs automatically every 30 minutes. Manual sync available from the Applications page.
Key Features
Identity Management
- Create, onboard, and offboard users
- Lifecycle states: Active, Disabled, Locked, Offboarded
- Connected Accounts view (shows which apps a user is linked to)
Access Matrix
- Unified permission view across all apps
- Grant/revoke permissions with one click
- Filter by application
Access Profiles
- Predefined templates for roles (e.g., "Project Manager", "Developer")
- One-click onboarding with correct groups and permissions
Access Requests
- Public form for users to request access
- Admin approval workflow
- Auto-provisioning on approve
Joiner / Leaver Flows
- Onboard: creates user + provisions to all apps + assigns groups
- Offboard: removes from groups + revokes permissions + disables in all apps
Governance Dashboard
- Live governance score
- Risk alerts (over-privileged users, dormant accounts, duplicates)
- Auto-refresh every 30 seconds
Audit
- Every action logged with full trail
- Searchable, exportable (CSV/JSON)
AI Assistant (Kai)
- Powered by Mistral AI (European, GDPR-compliant)
- Answers questions about users, permissions, and governance
- Data-aware (queries your real data)
Configuration
All configuration via environment variables. See .env.example in the repository for the full list.
| Variable | Default | Description |
|---|---|---|
| OPENCROWD_EDITION | community | Edition: community, professional, enterprise |
| OPENCROWD_MISTRAL_API_KEY | (empty) | Mistral AI key for Kai assistant |
| SPRING_DATASOURCE_URL | localhost | PostgreSQL connection |
| VITE_KEYCLOAK_URL | http://localhost:8180 | Keycloak URL |
Editions
| Feature | Community (Free) | Professional ($15/user/mo) | Enterprise (Custom) |
|---|---|---|---|
| Users & Groups | Unlimited | Unlimited | Unlimited |
| Connectors | 3 (xWiki, OP, NC) | 8+ | Unlimited + Custom |
| Access Matrix | ✓ | ✓ | ✓ |
| Joiner/Leaver | ✓ | ✓ | ✓ |
| AI Assistant | — | ✓ | ✓ |
| Governance Reports | — | ✓ | ✓ |
| SCIM 2.0 | — | — | ✓ |
| Access Certifications | — | — | ✓ |
Deployment Options
- Docker Compose — development and small production (default)
- Kubernetes + Helm — enterprise scale (chart coming soon)
- Managed Cloud — we host it for you (coming soon)
SSL / HTTPS
For production deployments with custom domains:
- Get SSL certs via Let's Encrypt (certbot)
- Use the nginx-ssl.conf.example template in the repo
- Configure env vars for your domain
See infrastructure/docker/nginx-ssl.conf.example for a complete template.
Support
- Community: GitHub Issues + Discussions
- Professional: Priority email support (48h SLA)
- Enterprise: Dedicated support + SLA
Contributing
See CONTRIBUTING.md in the OpenCrowd repository for guidelines.
API Reference
Full REST API documentation available at /swagger-ui/index.html on your running instance.