I've been building NEXUS in my spare time for the past few months. What started as a simple Docker management panel has grown into something I'm genuinely proud of — a full ecosystem of self-hosted tools with a shared visual identity and a central control hub.
Here's where the project stands today.
What is NEXUS Ecosystem?
NEXUS is a modular ecosystem of self-hosted Docker management tools. Each tool works independently as a standalone app, but they're all designed to connect through a central hub — sharing authentication (SSO), service registry, and a unified dashboard.
The design language is what I call Dark Premium: inspired by tools like Linear and Vercel. Dark-first, precise, no unnecessary decoration.
What's already built
NEXUS (port 9090 · #00c896)
The core panel. Container management, image control, volume and network inspection, stack deployment, real-time terminal, metrics view. This is the most mature tool in the ecosystem.
Watcher (port 9091 · #F0A500)
Monitors Docker images for updates in real time. Shows available updates with digest comparison, lets you pull new versions with a progress bar directly from the UI, and tracks update history.
Pulse (port 9092 · #3b82f6)
Performance metrics per container — CPU, memory, network I/O. Clean charts, real-time via Socket.io.
NEXUS Hub (port 9095 · #534AB7)
The ecosystem control center. Handles SSO across all tools, maintains a service registry, polls each tool's health endpoint every 30 seconds, and provides a unified overview dashboard. NEXUS and Watcher are already integrated.
What I'm building right now
Security (port 9093 · #ef4444)
Visibility into exposed ports, container vulnerabilities, and attack surface across all registered hosts.
Notify (port 9094 · #8b5cf6)
Multi-channel alert system — Telegram, Discord, Webhook, Email. Triggered by ecosystem events: container down, image update available, high CPU, and more.
Both Security and Notify will live as Hub-integrated modules rather than standalone tools — because their real value is cross-host visibility, not single-host monitoring.
Tech stack
- Frontend: React 18 + Vite, CSS custom properties (no Tailwind), Lucide React
- Backend: Node.js + Express + Socket.io
- Auth: JWT + SSO pattern between tools
- Storage: SQLite / JSON per tool
- Deployment: Docker, published to Docker Hub and GHCR via GitHub Actions
- CI/CD: push to main → build → publish automatically
Architecture decision: standalone vs Hub-integrated
One thing I had to think carefully about: which tools make sense as standalone apps and which ones only make sense inside the Hub.
NEXUS, Watcher and Pulse work well standalone — they provide value on a single host without needing global context. Security and Notify don't. A security panel that only sees one host misses the point. An alert system that can't aggregate events across the whole ecosystem is just noise.
So the roadmap split naturally into two product lines: standalone tools (independent, :latest tags on Docker Hub) and Hub-integrated modules (centralized IdP, SSO, multi-host support).
Where to find it
- GitHub: github.com/Alvarito1983
- Docker Hub: hub.docker.com/u/afraguas1983
All open source. Still actively developing — if you're into self-hosting, Docker, or just building your own tools, feel free to follow along or contribute.

Top comments (0)