Skip to content

mojoaar/atlascmdb

Repository files navigation

Atlas CMDB

Open-source CMDB for modern IT teams — services, applications, CIs, assets, and relationships in one place.

License: AGPL-3.0


Features

  • 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

Quick Start

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 dev

Open http://localhost:3000 and log in with:

Field Value
Email alice@atlas.local
Password password123

Full demo data — run npm run db:setup instead of db:init to populate services, applications, CIs, assets, teams, locations, and relationships.


Tech Stack

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

Configuration

Copy the variables below into a .env.local file at the project root.

Authentication (required in production)

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).

Database

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.

Runtime

Variable Default Description
NODE_ENV development Set to production in production deployments. Enables secure cookies and enforces secret validation.

Integrations (SSO / SCIM / Connectors)

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.


Contributing

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


Credits


Changelog

[0.1.0] — 2026-06-06

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/react relationship 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.

License

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.

About

Atlas — open-source CMDB (Configuration Management Database) built on Next.js. Admin + portal views, relationship graphing, TOTP MFA, SSO, SCIM, bulk import, dark/light themes.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors