Open-source CMDB for modern IT teams — services, applications, CIs, assets, and relationships in one place.
- Entity management — services (business & technical), applications, configuration items (CIs), assets, teams, locations, and users
- Rack management — visual 42U/48U rack layouts with side-by-side front/back columns, multi-U placement, hover tooltips, colour-coded CI type badges, and a dedicated full-screen layout viewer
- Relationship graph — interactive dependency graphs with BFS depth control (1–6 hops) and Dagre auto-layout
- Organisation chart — interactive graphical organisation chart on user profile pages with manager (up to 3 levels up) and direct reports (up to 3 levels down) traversal, node click navigation, and full-page canvas views
- Geographic maps — location-aware asset/CI mapping via Leaflet + OpenStreetMap
- Import / Export — CSV import with field mapping, preview, and conflict resolution; CSV/JSON export per entity type
- SSO / SCIM — OpenID Connect (PKCE S256) single sign-on and SCIM 2.0 provisioning, configured via admin UI
- Integrations — connect external tools (Next Insight, future ServiceNow, vCenter, Azure, GCP) with pull-based sync, per-field conflict resolution, and sync history
- MFA — TOTP two-factor authentication (RFC 6238) with QR code setup
- Audit trail — full change history with before/after diffs and actor attribution
- Themes — 8 built-in colour themes (Blue Line, Catppuccin × 4, Nord, Dracula, Cyberpunk) with light/dark toggle
- Login branding — toggle between standard text and a styled, responsive ASCII art logo on the login screen
git clone git@github.com:mojoaar/atlascmdb.git
cd atlascmdb
npm install
# Blank install — migrations + admin user only (no demo data)
npm run db:init
# Start dev server
npm run devOpen http://localhost:3000 and log in with:
| Field | Value |
|---|---|
alice@atlas.local |
|
| Password | password123 |
Full demo data — run
npm run db:setupinstead ofdb:initto populate services, applications, CIs, assets, teams, locations, and relationships.
| Library | Purpose |
|---|---|
| Next.js | Framework (App Router) |
| React | UI |
| Knex.js | Query builder / migrations |
| better-sqlite3 | SQLite (development) |
| pg (node-postgres) | PostgreSQL (production) |
| @xyflow/react | Relationship graph canvas |
| @dagrejs/dagre | Graph auto-layout |
| recharts | Dashboard charts |
| react-leaflet / Leaflet | Geographic maps |
| openid-client | SSO (OIDC PKCE S256) |
| jsonwebtoken | JWT auth |
| otpauth | TOTP MFA |
| bcryptjs | Password hashing |
| qrcode | MFA QR code generation |
| lucide-react | Icons |
| Prism.js | Syntax highlighting |
| uuid | ID generation |
Copy the variables below into a .env.local file at the project root.
| Variable | Default | Description |
|---|---|---|
JWT_SECRET |
insecure dev fallback | Secret key for signing JWT access tokens. Must be set in production — the app warns and exits if absent. |
JWT_REFRESH_SECRET |
insecure dev fallback | Secret key for signing JWT refresh tokens. Same production enforcement. |
JWT_EXPIRES_IN |
15m |
Access token lifetime. Any ms-compatible string (e.g. 30m, 2h). |
JWT_REFRESH_EXPIRES_IN |
7d |
Refresh token lifetime. |
MFA_ISSUER |
Atlas |
Issuer name displayed in TOTP authenticator apps (e.g. Google Authenticator). |
| Variable | Default | Description |
|---|---|---|
DATABASE_URL |
— | PostgreSQL connection string for production (e.g. postgres://user:pass@host:5432/atlas). In development, SQLite is used automatically at data/atlas.db. |
| Variable | Default | Description |
|---|---|---|
NODE_ENV |
development |
Set to production in production deployments. Enables secure cookies and enforces secret validation. |
OpenID Connect (SSO), SCIM 2.0 provisioning, and data connectors (Next Insight, future ServiceNow, vCenter, Azure, GCP, etc.) are configured through the Admin → Integrations page and stored in the database. Connectors support per-field conflict resolution (merge / overwrite / skip) and maintain a full sync history.
Contributions are welcome. Fork the repository, create a branch, make your changes, and open a pull request against main.
Repository: git@github.com:mojoaar/atlascmdb.git
- Next.js
- React
- Knex.js
- better-sqlite3
- node-postgres (pg)
- @xyflow/react
- @dagrejs/dagre
- recharts
- react-leaflet
- Leaflet
- OpenStreetMap
- lucide-react
- openid-client
- jsonwebtoken
- otpauth
- bcryptjs
- qrcode
- uuid
- Prism.js
- Catppuccin
- Nord
- Dracula
- Cyberpunk
Initial public release of Atlas CMDB. Core features include:
- Core CMDB Engine: Comprehensive service, application, and CI management with polymorphic table-inheritance support and bi-directional relationships.
- Form Designer & Field Customization: Drag-and-drop dynamic layout editor with support for customizable section columns (1-3) and class-specific configuration schemas.
- Relationship Graphs: Fully interactive
@xyflow/reactrelationship visualization engine with custom layouts and BFS-based graph depth control (1-6). - Physical Datacenter Modeling: Advanced 3D/2D cabinet/rack layout visualization with interactive front/back dual columns, slot positioning, and full-screen layout.
- Geographic Mapping: Leaflet-powered geolocation mapping utilizing OpenStreetMap data to plot organizational assets and datacenters.
- Security & RBAC: Fine-grained role-based access control (admin, editor, viewer), secure stateless JWT sessions, and fail-closed secrets validation.
- Modern Responsive Design: Dual-mode light/dark themes with 8 built-in developer palettes, pre-paint FOUC prevention, a responsive collapsible sidebar, and a mobile off-canvas drawer.
- Integrations & Import Pipeline: Built-in connector framework featuring the "Next Insight" pull connector with configurable schedule mapping, FTS (Full-Text Search) integration, and automatic notification triggers.
- Administrative Utilities: Custom user settings, system-wide preferences, user avatars, auditing engine, SCIM v2 user provisioning, and transactional sandbox database resets.
Copyright (C) 2026 Atlas Contributors
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.