secubox-openwrt/package/secubox/luci-app-netdata-dashboard
CyberMind-FR e7c9411d79 feat: Release v0.8.2 - Admin Control Center, Documentation Mirror & Docker Automation
This release adds major new features for SecuBox management and deployment:

## New Features

### 1. LuCI Admin Control Center (luci-app-secubox-admin)
- Unified admin dashboard for managing all SecuBox appstore plugins
- **Control Panel**: Real-time stats, system health, alerts, quick actions
- **Apps Manager**: Browse catalog, install/remove apps with search & filtering
- **App Settings**: Per-app configuration, start/stop controls
- **System Health**: Live monitoring (CPU, RAM, disk) with auto-refresh
- **System Logs**: Centralized log viewer with download capability
- Fully integrated with existing RPCD backend (luci.secubox)
- Mobile-responsive design with polished UI components

### 2. Documentation Mirror in SecuBox Bonus
- Integrated complete development documentation into luci-app-secubox-bonus
- 64+ documentation files now available offline at /luci-static/secubox/docs/
- Beautiful landing page (index-main.html) with 4 sections:
  - Development guides & references
  - Live module demos
  - Tutorials & blog posts
  - Marketing campaign pages
- Accessible locally on router without internet connection

### 3. Automated Docker Plugin Installation
- Enhanced secubox-appstore CLI with full Docker automation
- One-click installation from web UI now fully automated:
  - Auto-detects Docker runtime from catalog
  - Discovers and executes control scripts (*ctl install)
  - Pulls Docker images automatically
  - Creates directories and configures UCI
  - Enables init services
- No manual CLI steps required for Docker apps
- Works for all Docker apps: AdGuard Home, Mail-in-a-Box, Nextcloud, etc.

### 4. Mail-in-a-Box Plugin
- New Docker-based email server plugin (secubox-app-mailinabox)
- Complete package with:
  - UCI configuration (8 port mappings, feature flags)
  - Control script (mailinaboxctl) with install/check/update/status/logs
  - Procd init script with auto-restart
  - Catalog manifest (category: hosting, maturity: beta)
- Network mode: host (required for mail server)
- Persistent storage: mail, SSL, data, DNS volumes

## Improvements

### Build System
- Updated local-build.sh to include luci-app-* packages from package/secubox/
- Now automatically discovers and builds luci-app-secubox-admin and similar packages
- Fixed Makefile include paths for feed structure

### Package Releases
- Incremented PKG_RELEASE for all 31 SecuBox packages
- Ensures clean upgrade path from previous versions

### Catalog Updates
- Mail-in-a-Box entry moved from "productivity" to "hosting" category
- Status changed to "beta" reflecting community Docker image maturity
- Storage requirement increased: 1024MB → 2048MB
- Added port 25 accessibility note

## Files Changed

### New Packages (2)
- package/secubox/luci-app-secubox-admin/ (12 files)
- package/secubox/secubox-app-mailinabox/ (4 files)

### Enhanced Packages (1)
- package/secubox/luci-app-secubox-bonus/ (65 new docs files)

### Modified Core (3)
- package/secubox/secubox-core/root/usr/sbin/secubox-appstore
- package/secubox/secubox-core/root/usr/share/secubox/catalog.json
- secubox-tools/local-build.sh

### All Makefiles (31 packages)
- Incremented PKG_RELEASE for clean upgrade path

## Technical Details

**Admin Control Center Architecture:**
- Frontend: 5 views (dashboard, apps, settings, health, logs)
- API: Wrapper around luci.secubox RPCD methods
- Components: Reusable UI library (cards, badges, alerts, loaders)
- Styling: Common + admin-specific CSS with responsive design
- Auto-refresh: Polling for live updates (5-30s intervals)

**Docker Automation Flow:**
```
Web UI → RPCD → secubox-appstore CLI → opkg install → *ctl install →
docker pull → directories → UCI config → init enable → ✓ Ready
```

**Access Points:**
- Admin Control: http://router/cgi-bin/luci/admin/secubox/admin/
- Documentation: http://router/luci-static/secubox/index-main.html
- Demos: http://router/luci-static/secubox/demo-*.html

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 08:29:31 +01:00
..
.github/workflows feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
htdocs/luci-static/resources feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
root/usr feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
Makefile feat: Release v0.8.2 - Admin Control Center, Documentation Mirror & Docker Automation 2026-01-04 08:29:31 +01:00
README.md feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00

LuCI Netdata Dashboard

Version: 0.4.0
Last Updated: 2025-12-28
Status: Active

Version License OpenWrt

Real-time system monitoring dashboard for OpenWrt with a modern, responsive interface inspired by Netdata.

Dashboard Preview

Features

📊 Real-time Monitoring

  • CPU Usage: Gauge visualization with sparkline history
  • Memory: Stacked bar showing used/buffers/cached/free
  • Disk: Per-filesystem usage with visual bars
  • Network: Interface statistics with RX/TX totals
  • Temperature: Sensor readings from thermal zones
  • Load Average: 1/5/15 minute load display

🖥️ System Information

  • Hostname, model, kernel version
  • OpenWrt version and target
  • Uptime with days/hours/minutes display
  • CPU cores and frequency

🌐 Network Details

  • Interface list with IP addresses
  • Link state and speed detection
  • Connection tracking statistics
  • Per-interface traffic breakdown

⚙️ Process Monitor

  • Running/sleeping process counts
  • Process list with PID, user, command
  • Memory usage per process
  • State visualization

🎨 Modern Design

  • Dark theme optimized for monitoring
  • Responsive grid layout
  • Animated gauges and sparklines
  • GitHub-inspired color palette

🔔 SecuBox Alerts & Logs

  • Control bar integrates with the new /usr/sbin/secubox-log helper.
  • Start/restart/stop events get appended to /var/log/seccubox.log.
  • Dashboard card shows the tail of the aggregated log and lets you capture a dmesg/logread snapshot from LuCI.

Screenshots

Real-time View

Real-time

Network Statistics

Network

Process Monitor

Processes

Installation

Prerequisites

  • OpenWrt 21.02 or later
  • LuCI web interface
# Clone into OpenWrt build environment
cd ~/openwrt/feeds/luci/applications/
git clone https://github.com/YOUR_USERNAME/luci-app-netdata-dashboard.git

# Update feeds and install
cd ~/openwrt
./scripts/feeds update -a
./scripts/feeds install -a

# Enable in menuconfig
make menuconfig
# Navigate to: LuCI > Applications > luci-app-netdata-dashboard

# Build package
make package/luci-app-netdata-dashboard/compile V=s

Manual Installation

# Transfer package to router
scp luci-app-netdata-dashboard_1.0.0-1_all.ipk root@192.168.1.1:/tmp/

# Install on router
ssh root@192.168.1.1
opkg install /tmp/luci-app-netdata-dashboard_1.0.0-1_all.ipk

# Restart services
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart

Usage

After installation, access the dashboard at:

Status → Netdata Dashboard

The dashboard has four tabs:

  1. Real-time: Overview with gauges and sparklines
  2. System: Detailed system information
  3. Network: Interface statistics
  4. Processes: Process monitor

Data refreshes automatically every 2 seconds.

Architecture

┌─────────────────────────────────────────────────────────┐
│                    LuCI JavaScript                       │
│              (realtime.js, system.js, etc.)             │
└───────────────────────────┬─────────────────────────────┘
                            │ ubus RPC
                            ▼
┌─────────────────────────────────────────────────────────┐
│                    RPCD Backend                          │
│               /usr/libexec/rpcd/netdata                 │
└───────────────────────────┬─────────────────────────────┘
                            │ reads
                            ▼
┌─────────────────────────────────────────────────────────┐
│                   Linux Proc/Sys                         │
│     /proc/stat, /proc/meminfo, /sys/class/thermal       │
└─────────────────────────────────────────────────────────┘

API Endpoints

Method Description
stats Quick overview (CPU%, memory%, load, etc.)
cpu Detailed CPU statistics and per-core data
memory Memory breakdown (total, free, buffers, cached)
disk Filesystem usage and I/O statistics
network Interface stats and connection tracking
processes Process list and counts
sensors Temperature sensor readings
system System information (hostname, kernel, uptime)

Customization

Modifying Refresh Rate

Edit the poll interval in the view files:

// In realtime.js
poll.add(L.bind(this.refresh, this), 2); // 2 seconds

Adding Custom Metrics

Extend the RPCD backend script at /usr/libexec/rpcd/netdata to add new data sources.

Requirements

  • OpenWrt 21.02+
  • LuCI (luci-base)
  • rpcd with luci module

Dependencies

  • luci-base
  • luci-lib-jsonc
  • rpcd
  • rpcd-mod-luci

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Credits


Made with ❤️ for the OpenWrt community