AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Self-hosted infrastructure monitoring with log intelligence and
incident correlation: host checks, remote probes, a Rust agent, syslog,
SNMP and 19 integrations in one place, with one consistent answer to "what is
broken right now, and what changed since I last looked".
Nodeglow runs as a small Docker Compose stack (PostgreSQL, ClickHouse, a
FastAPI backend, a Next.js UI and an update sidecar) on a single Linux host.
It is Open Core: the core is AGPL-3.0, a few enterprise features are
source-available under a commercial license (see Editions).README 전문 보기 ↗Self-hosted infrastructure monitoring with log intelligence and incident correlation: host checks, remote probes, a Rust agent, syslog, SNMP and 19 integrations in one place, with one consistent answer to "what is broken right now, and what changed since I last looked".
Nodeglow runs as a small Docker Compose stack (PostgreSQL, ClickHouse, a FastAPI backend, a Next.js UI and an update sidecar) on a single Linux host. It is Open Core: the core is AGPL-3.0, a few enterprise features are source-available under a commercial license (see Editions).
Monitoring
up, degraded, warning, down,
unknown, maintenance, disabled, computed by one probe-aware rule for
lists, badges, dashboard and topology. No fresh data means unknown, never
a stale green.unknown.Logs
Alerting and incidents
maintenance and do not alert.Operations
GET /api/v2/dashboard; a full change feed on /changes.g … shortcuts), light, dark or
system theme, works on phones; fonts are self-hosted, nothing is loaded from
third-party CDNs.| Integration | What is monitored |
|---|---|
| Proxmox VE | Nodes, VMs, LXC containers — CPU, RAM, disk, IO rates |
| UniFi | APs, switches, clients, signal strength, PoE ports |
| UniFi NAS | Storage, volumes, RAID |
| Pi-hole | Query stats, blocking %, top domains |
| AdGuard Home | Query stats, blocking %, filter lists |
| Technitium DNS | Queries, blocking, cluster health, available updates |
| Portainer | Docker containers across all endpoints |
| TrueNAS | Pools, datasets, alerts, system info |
| Synology DSM | Volumes, shares, CPU, RAM, SMART |
| pfSense / OPNsense | Interface stats, rules, DHCP leases |
| Home Assistant | Entity states, system info |
| Gitea | Repos, users, issues, system stats |
| phpIPAM | Subnets, address utilisation, import into Hosts |
| Speedtest | Download, upload, latency — Ookla CLI if bundled (BUNDLE_OOKLA=1, own builds only), otherwise speedtest-cli |
| UPS / NUT | Battery charge, on-line / on-battery, runtime |
| Redfish / iDRAC | Server temperatures, fans, power, system info |
| Swisscom Internet-Box | WAN status, connected devices, device info |
| Cloudflare | Zones, DNS records, analytics, security events |
| Nginx Proxy Manager | Proxy hosts, certificates and their expiry, redirections, streams |
| Community | Enterprise | |
|---|---|---|
| License | AGPL-3.0-only | AGPL core + Nodeglow Enterprise License (draft) for ee/ |
| Image | nodeglow-backend-community (or NODEGLOW_DISABLE_EE=1) | nodeglow-backend (default) |
| Everything listed above except the AI features | ✓ | ✓ |
| High availability (scheduler leader election across backends) | — | ✓ |
| Glow AI assistant, AI postmortems, AI daily summary | — | ✓ |
The default image contains ee/, but the enterprise features stay inactive
until an offline-verified license key is installed (Settings → License, or
NODEGLOW_LICENSE). Without a key it behaves exactly like the community
edition. Planned enterprise features include multi-tenancy for MSPs
(design, in progress), SSO
and SCIM, custom roles, on-call escalation and per-customer SLA reports.
Details: LICENSING.md, ee/README.md.
Signed multi-arch images from GHCR, no build on your host:
curl -fsSLO https://github.com/jubacCH/Nodeglow/releases/latest/download/install.sh
sudo sh install.sh # → /opt/nodeglow, prints the URL when ready
install.sh checks the prerequisites, generates .env with fresh secrets,
pulls and (with cosign installed) verifies the images, and starts the stack.
Air-gapped: sudo sh install.sh --offline nodeglow-X.Y.Z-offline-amd64.tar.gz.
Then open http://<host>:8000 and finish the setup wizard right away — it
creates the admin account.
Requirements: Linux x86_64 or arm64, Docker Engine 20.10+ with Compose v2, 2 vCPU / 4 GB RAM / 20 GB SSD. Everything else — editions, upgrades, backups, signature verification — is in docs/INSTALL.md.
For development, or if you want to build the images yourself:
git clone https://github.com/jubacCH/Nodeglow.git nodeglow
cd nodeglow
# Required: compose refuses to start without these two secrets.
cp .env.example .env
sed -i "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$(openssl rand -hex 24)/" .env
sed -i "s/^UPDATE_SIDECAR_TOKEN=.*/UPDATE_SIDECAR_TOKEN=$(openssl rand -hex 32)/" .env
# Strongly recommended: the key that encrypts stored credentials.
# Back it up separately — no database backup contains it.
echo "SECRET_KEY=$(openssl rand -hex 32)" >> .env
APP_VERSION=$(head -n1 VERSION) docker compose up -d --build
Open http://localhost:8000. A checkout-based installation updates itself
from main (git mode of the updater); see
OPERATIONS.md → Updating. Frontend development
with hot reload: frontend/README.md.
Create an install token under Infrastructure → Agents & Probes; the page shows the ready-made command (tokens expire, default 24 h):
# Linux
curl -fsSL 'http://YOUR_SERVER:8000/install/linux?token=<INSTALL_TOKEN>' | sudo bash
# Windows (PowerShell as Administrator)
irm 'http://YOUR_SERVER:8000/install/windows?token=<INSTALL_TOKEN>' | iex
The agent enrolls with its token, creates its host, reports every 30 s, checks for updates every 5 minutes (SHA-256 plus an Ed25519 release signature made in CI, see docs/OPERATIONS.md) and can be switched into probe mode from the UI.
browser ──► frontend (Next.js 15, :8000) ──► backend (FastAPI, :8000 internal)
agents / probes ──────────────┘ │ API, scheduler, syslog receiver,
syslog senders ──► 514/udp, 1514/tcp ───────────────────┤ collectors, correlation, alerting
├──► PostgreSQL 16 (config, hosts, incidents, patterns)
├──► ClickHouse 24.8 (pings, metrics, syslog — TTL)
└──► updater sidecar (updates, scheduled dumps)
| Part | Directory | Stack |
|---|---|---|
| Backend | backend/ | Python 3.12, FastAPI, SQLAlchemy 2 (async), Alembic, APScheduler |
| Enterprise plugin | ee/backend/ | loaded by backend/ee_loader.py through backend/extensions.py |
| Frontend | frontend/ | Next.js 15, React 19, TypeScript, Tailwind, TanStack Query, ECharts; Node 22 |
| Agent | agent/ | Rust (Tokio, reqwest), Linux and Windows |
| Updater | sidecar/ | Python, Docker socket; git mode (build from checkout) or image mode (signed releases) |
| Releases | .github/workflows/release.yml, scripts/ | GHCR images, cosign, install.sh, offline bundle |
The backend is a single process that runs the API, the scheduler, the syslog
receiver and all collectors. Collectors write snapshots to PostgreSQL and time
series to ClickHouse; the correlation engine and alert rules turn them into
incidents; the UI reads everything through the REST API (/api/v1,
/api/v2) and a WebSocket. Design and API details: docs/README.md.
| docs/INSTALL.md | Installing and upgrading a release, editions, offline installs, verifying signatures |
| docs/OPERATIONS.md | Sizing, ports, hardening, updates, backups, the encryption key, license, AI, troubleshooting, configuration reference |
| docs/API.md | REST API: authentication, v1 and v2 endpoints |
| docs/README.md | Index of all documentation, current and historical |
| CHANGELOG.md | Changes per release |
Bug reports, fixes, integrations and docs are welcome. Contributions need the CLA (once) and a DCO sign-off on every commit — see CONTRIBUTING.md. Security issues: please use GitHub's private vulnerability reporting, not a public issue.
Everything outside ee/ is licensed under the
GNU AGPL-3.0-only. The ee/ directory is source-available under
the Nodeglow Enterprise License (draft): free for development
and testing, production use needs a license. Details and commercial
licensing: LICENSING.md. Third-party licenses:
THIRD_PARTY_NOTICES.md.