Get Started
Getting Started with Apache Unomi
From zero to a running Customer Data Platform in minutes.
Overview
What is Apache Unomi?
Apache Unomi is a REST server that manages user profiles and events. It integrates personalization and profile management into any system — CMS, CRM, mobile apps, or custom platforms.
- Tracks users via cookies or custom identifiers and builds rich profiles over time
- Built-in rule engine triggers actions when events occur on a profile
- Dynamic segmentation classifies profiles into groups for personalization
- OSGi plugin architecture on Apache Karaf — extensible and scalable
- Reference implementation of the OASIS CDP specification
graph TD
A["👤 Visitor"] -->|Events| B["Apache Unomi"]
B --> C["Profile Store"]
B --> D["Rules Engine"]
D --> E["🎯 Personalization"]
D --> F["📊 Segmentation"]
D --> G["📈 Scoring"]
C --> H["Privacy Controls"]
Privacy as a First-Class Feature
Unomi’s privacy REST API lets you build user-facing UIs where visitors can manage their profile, control tracking, view collected data, anonymize past data, or fully delete their profile. Built for a world where GDPR and privacy legislation matter.
Quick Start
Run with Docker
The fastest way to try Apache Unomi. Only Docker is required.
Create a docker-compose.yml file
version: '3.8'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
environment:
- discovery.type=single-node
ports:
- 9200:9200
unomi:
image: apache/unomi:3.0.0
environment:
- UNOMI_ELASTICSEARCH_ADDRESSES=elasticsearch:9200
- UNOMI_THIRDPARTY_PROVIDER1_IPADDRESSES=0.0.0.0/0,::1,127.0.0.1
ports:
- 8181:8181
- 9443:9443
- 8102:8102
links:
- elasticsearch
depends_on:
- elasticsearch
Start the environment
docker-compose up
Wait for the startup to complete (usually 1–2 minutes).
Verify it’s running
curl -k https://localhost:9443/cxs/cluster -u karaf:karaf
Default credentials: karaf / karaf. You may see a certificate warning — this is expected in development.
Production note: This configuration is for development only. See the production security guide before deploying.
Prefer manual install? Follow the manual quick start guide for Java-based installation.
What’s Next?