Skip to content

Latest commit

 

History

139 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexusCore banner

NexusCore

An enterprise NOC platform — unified monitoring for AD replication, NTP, DNS, PBX, and helpdesk, with AI-powered anomaly detection and SIEM integration.

Stars Last commit License Python 3.12+ FastAPI React 18

NexusCore dashboard

What This Is

NexusCore consolidates the core infrastructure signals an enterprise NOC watches — Active Directory replication, NTP synchronization, DNS resolution, PBX telephony health, and helpdesk tickets — into one dark-themed operations dashboard. It adds AI-assisted insights via a local Ollama model, Wazuh SIEM status, and a Prometheus/Grafana/Loki monitoring path.

It is built for infrastructure teams that need a single pane of glass across directory, time, name, voice, and support services, deployed entirely on-premises with Docker Compose.

Quick Start

git clone https://github.com/OneByJorah/NexusCore.git
cd NexusCore
cp .env.example .env      # set SECRET_KEY, DATABASE_URL, POSTGRES_PASSWORD, REDIS_PASSWORD
docker compose up -d

Open http://localhost:5173 (nginx). Grafana is on http://localhost:3000, Prometheus on http://localhost:9090.

Warning

Every secret in .env.example is a placeholder. Replace SECRET_KEY, POSTGRES_PASSWORD, and REDIS_PASSWORD before deploying, and do not expose the stack to untrusted networks until they are set.

Features

  • NOC dashboard — real-time overview of all monitored services in one pane.
  • AD replication monitoring — domain controller status with a force-replication action.
  • NTP & DNS health — Chrony sync status, NTP client list, and DNS benchmarking.
  • PBX telephony — Mitel PBX service health plus SNMP walk results.
  • Helpdesk metrics — osTicket ticket listing and creation.
  • AI insights — Ollama (and OpenAI-compatible) endpoints for anomaly triage.
  • Wazuh SIEM — agent, alert, and overview queries from the dashboard.
  • Admin & onboarding — role, user, tab, and encrypted-settings management plus a first-run setup API.
  • Observability stack — Prometheus metrics, Grafana dashboards, Loki logs, CrowdSec, and SNMP exporter.
  • Migrations — schema managed exclusively through Alembic.

Architecture

React (Vanilla JS SPA) ──HTTP/REST──▶ FastAPI /api ──▶ PostgreSQL
                                          │
                                          ├──▶ Redis (cache)
                                          ├──▶ Collectors: AD/LDAP · NTP · DNS · PBX
                                          ├──▶ Ollama / OpenAI (AI insights)
                                          └──▶ Wazuh SIEM · osTicket

nginx :5173/:8443 ──▶ static dashboard + /api proxy
Prometheus ◀── /metrics   ·   Grafana ◀── Prometheus + Loki

Note

The dashboard UI served is the standalone HTML/JS app in frontend/index.html. The frontend/src/ React SPA is present but not yet wired into the Vite entry point.

Tech Stack

Backend — FastAPI, Python 3.12+, SQLAlchemy, Alembic, PostgreSQL 16, Redis Frontend — React 18, TypeScript, Vite, TailwindCSS, Recharts (standalone index.html is the served UI) AI/ML — Ollama local LLMs, OpenAI-compatible endpoints Monitoring — Prometheus, Grafana, Loki, SNMP Exporter, CrowdSec, Wazuh DevOps — Docker Compose, systemd, GitHub Actions, pre-commit, ruff

Configuration

Copy .env.example to .env.

Variable Default Description
SECRET_KEY — JWT signing key (required)
DATABASE_URL postgresql://jnop:change-me@postgres:5432/jnop PostgreSQL connection string
REDIS_URL redis://redis:6379 Redis cache URL
REDIS_PASSWORD — Redis password
POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DB jnop / — / jnop Postgres credentials
BACKEND_CORS_ORIGINS http://localhost:5173 Allowed CORS origins
GRAFANA_ADMIN_PASSWORD — Grafana admin password
MITEL_SNMP_HOST / MITEL_SNMP_COMMUNITY localhost / public PBX SNMP target
OSTICKET_BASE_URL / OSTICKET_API_KEY — osTicket helpdesk integration
LDAP_URL / LDAP_DOMAIN / LDAP_BIND_DN / LDAP_BIND_PASSWORD — LDAP/AD binding
CHRONY_SERVER localhost NTP/Chrony server to monitor
WAZUH_API_URL / WAZUH_USERNAME / WAZUH_PASSWORD — Wazuh SIEM connection
OLLAMA_URL / OLLAMA_HOST http://localhost:11434 Local LLM endpoint
TELEGRAM_BOT_TOKEN / TEAMS_WEBHOOK — Notification channels

API Endpoints

All application routes are served under /api by FastAPI (interactive docs at /api/docs).

Endpoint Method Description
/api/dashboard/overview GET NOC dashboard overview metrics
/api/system/overview GET Live service-health probes
/api/dc_status GET AD domain controller replication status
/api/dc/forcerepl POST Force AD replication
/api/ntp_status GET NTP client synchronization health
/api/ntp_clients GET NTP client list
/api/pbx/status GET PBX service health
/api/pbx/snmp/walk GET Mitel SNMP walk results
/api/helpdesk/tickets GET/POST Helpdesk ticket metrics (osTicket)
/api/wazuh/status GET Wazuh SIEM connection status
/api/wazuh/alerts GET Recent Wazuh alerts
/api/ollama/chat POST AI insights via Ollama
/api/ollama/status GET Ollama connectivity/models
/api/admin/users GET/POST User administration (admin role)
/api/admin/roles GET/POST Role administration
/api/admin/settings GET/PUT Encrypted settings management
/api/auth/login POST Obtain a JWT
/metrics GET Prometheus metrics
/healthz GET Liveness probe

Testing

cd backend && python -m pytest tests -q
cd frontend && npm install && npm run build

See TESTING.md for details.

Use Cases

  1. Enterprise NOC — a single pane across directory, time, name, voice, and support services.
  2. Infrastructure teams — correlate AD replication and NTP health before incidents escalate.
  3. Security operations — surface Wazuh SIEM status alongside AI anomaly triage.

Screenshots

NOC Dashboard AD Replication AI Insights
NOC Replication AI
NTP Monitor Wazuh SIEM Helpdesk
NTP Wazuh Helpdesk

More captures live in docs/screenshots/.

Contributing

Contributions are welcome — see CONTRIBUTING.md. Open an issue to report a bug or request a feature.

License

MIT — see LICENSE.

Connect

About

Enterprise NOC platform — unified monitoring for AD, NTP, DNS, PBX, helpdesk, AI-powered anomaly detection.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages