The hub's `_compute_menu_sync()` drops menu entries lacking an `id`
field. 6+ packages (lyrion, yacy, zigbee, rustdesk, grafana, authelia)
shipped a different schema (`title/url/section/module`) so they NEVER
appeared in the navbar. Plus the existing CATEGORY_META declared 12
sections (dashboard/security/network/system/core/users/services/
privacy/monitoring/publishing/apps/admin), not the 6 SecuBox charter
modules.
Changes:
* All 121 packages/secubox-*/menu.d/*.json normalised to the canonical
schema (id, name, path, category, icon, order, description). Legacy
schema aliases (title/url/module/section) preserved as fallbacks then
dropped from the file.
* Each menu entry's category remapped to one of the 6 charter modules:
AUTH (auth/users/identity/zkp/nac/openclaw),
WALL (crowdsec/waf/mitmproxy/hardening/threat-* /cve-triage/...),
BOOT (kernel-build/eye-remote/master-link/droplet/cloner/backup/...),
MIND (ai-gateway/mcp-server/grafana/ndpid/netifyd/glances/...),
ROOT (system/hub/portal/console/admin/vault/vm/rtty/...),
MESH (wireguard/dns/tor/matrix/gitea/nextcloud/mail/lyrion/yacy/
zigbee/dns-provider/rustdesk/... — all network + comms apps).
* secubox-hub v1.4.0 — CATEGORY_META rewritten with the 6 charter
modules carrying their official color from DESIGN-CHARTER.md and
the complementary-pair order. DEFAULT_MENU fallback remapped too.
* secubox-zigbee v2.5.3 — www/zigbee/index.html rewritten with the
canonical SecuBox scaffold (body display:flex, sidebar 220px fixed,
.main reserving 48px for the global-menu-bar). MESH palette.
Browser side: operators need to clear localStorage sbx_menu_cache (or
hard-refresh after the 1h TTL) to see the new sections after deploy.
Co-authored-by: CyberMind-FR <gandalf@Gk2.net>
- Add LogsDirectory=secubox to systemd services for proper logging
- Fix systemd service security sandboxing (remove PrivateTmp issues)
- Replace text icons with emojis in menu.d JSON files
- Fixes navbar display issues (overlapping text from icon names)
Services updated:
- secubox-system, secubox-hub, secubox-portal, secubox-watchdog
- ~70 other services with LogsDirectory directive
Menu icons fixed:
- ipblock, interceptor, cookies, dns-provider, homeassistant, etc.
- Changed from text strings to emojis for proper sidebar display
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove python3-textual (>= 0.40.0) from Depends (Debian bookworm has 0.1.13)
- Add textual pip install in postinst script (checks version >= 0.40)
- Pre-install textual via pip in build-live-usb.sh before dpkg install
Fixes console package removal during live image build due to unmet dependency.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix kiosk user shell: use /bin/bash instead of /usr/sbin/nologin
(required for X11 su commands)
- Add X11 modesetting config for VirtualBox/VM compatibility
- Install textual dependency for console TUI
- Fix secubox-console systemd path: use /usr/lib/systemd/system/
Tested on VirtualBox VM:
- Kiosk GUI working on VT7 (Ctrl+Alt+F7)
- Console TUI working on TTY1 (Ctrl+Alt+F1)
- Emergency shell on TTY2 (Ctrl+Alt+F2)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- secubox-console v1.2.0: Works without secubox-core installed
- Fallback board detection for non-SecuBox systems
- secubox-core moved from Depends to Recommends
- Simplified systemd service for standalone mode
- Added TOOLS.md: comprehensive documentation for image/ and scripts/
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace non-existent SecuBoxHeader with BoardHeader in SOC screens.
Remove unused get_board_colors import.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>