Setup Overview
Setup Overview
Section titled “Setup Overview”CBOM consists of three components to deploy: the API (central service), one or more Sensors (discovery agents), and the UI (management interface). MongoDB is the backing database.
Prerequisites
Section titled “Prerequisites”| Component | Requirement |
|---|---|
| Java | 17+ (for API and Sensor) |
| Node.js | 20+ (for UI development only) |
| MongoDB | 6.0+ |
| OS | Linux, Windows, or macOS |
Quick Start (Development)
Section titled “Quick Start (Development)”1. Start MongoDB
Section titled “1. Start MongoDB”# Dockerdocker run -d --name cbom-mongo -p 27017:27017 mongo:7
# Or use an existing MongoDB instance2. Start the API
Section titled “2. Start the API”cd cbom/apicp .env.template .env# Edit .env with your settings
mvn spring-boot:run# API starts on port 90903. Start the UI
Section titled “3. Start the UI”cd cbom/uinpm installnpm start# UI starts on port 4200, proxies API calls to 90904. Create a user
Section titled “4. Create a user”Navigate to http://localhost:4200 and sign in. The first user created becomes admin.
5. Run a sensor scan
Section titled “5. Run a sensor scan”cd cbom/sensormvn package -DskipTests
# Run with a config filejava -jar target/cbom-sensor-*.jar --config=configs/examples/https-endpoint-scanner.ymlProduction Deployment (Single JAR)
Section titled “Production Deployment (Single JAR)”In production, the API serves the Angular UI as embedded static resources — a single JAR handles everything.
# Build the full production artifactcd cbommvn package -Pprod -DskipTests
# Runjava -jar api/target/cbom-api-*.jar --spring.profiles.active=prodThe production profile enables:
- Embedded UI serving (no separate web server needed)
- Response compression
- Static resource caching
- CORS disabled (same-origin)
Component Guides
Section titled “Component Guides”- API Deployment — Configuration, environment variables, profiles
- Sensor Deployment — Scanner configuration and deployment patterns
- UI Deployment — Development setup and production build
Architecture Reference
Section titled “Architecture Reference”See Architecture for how the components communicate and the data flow from sensor to dashboard.