3.2 KiB
SecuBox Wizard & Profiles
Version: 1.0.0
Last Updated: 2025-12-28
Status: Active
The SecuBox hub now includes a guided setup wizard (LuCI → SecuBox → Wizard) and profile system. Use them to finish the first-run checklist, review app manifests, and apply predefined OS-like configurations (Home, Lab, Hardened, Gateway + DMZ).
First-Run Checklist
The wizard queries luci.secubox’s first_run_status ubus method to determine whether critical items are configured:
- Administrator password – links to the LuCI password page.
- Timezone – dropdown populated with common timezones; applying calls
apply_first_runwith{ timezone: "Europe/Paris" }. - Storage path – defaults to
/srv/secubox; prepares the directory and stores it inuci set secubox.main.storage_path. - Network mode – uses the existing Network Modes RPC to switch between
routeranddmzpresets.
Each action can be run independently and is idempotent.
App Wizards (Manifests)
Apps ship manifests under /usr/share/secubox/plugins/<id>/manifest.json. secubox-app (installed at /usr/sbin/secubox-app) uses the same manifests for CLI installs, and the wizard consumes the wizard.fields section to build forms. Example snippet:
{
"id": "zigbee2mqtt",
"wizard": {
"uci": { "config": "zigbee2mqtt", "section": "main" },
"fields": [
{ "id": "serial_port", "label": "Serial Port", "uci_option": "serial_port" },
{ "id": "mqtt_host", "label": "MQTT Host", "uci_option": "mqtt_host" }
]
}
}
Clicking “Configure” opens a modal that writes the provided values into the specified UCI section.
Profiles
Profiles are stored as JSON in /usr/share/secubox/profiles/ and can bundle:
network_mode: target SecuBox network mode (router,dmz, …)apps: manifest IDs to install viasecubox-app install <id>packages: additional packages to ensure via opkg/apkuci: array of{config, section, option, value}entries applied via UCI
Baseline profiles:
| ID | Description | Highlights |
|---|---|---|
home |
Home router + Zigbee2MQTT | Router mode, installs Zigbee2MQTT + Netdata |
lab |
Monitoring lab | Router mode, ensures Netifyd & Bandwidth Manager |
hardened |
Security-focused | Enables CrowdSec + Client Guardian |
gateway_dmz |
Router + DMZ segment | Switches to DMZ mode and enables VHost manager |
apply_profile automatically tars /etc/config to /etc/secubox-profiles/backups/ before modifying settings, so the Rollback last profile button (or rollback_profile RPC) instantly restores prior UCI files.
CLI References
secubox-app list|install|status– manage app manifests (installed byluci-app-secubox).ubus call luci.secubox list_profiles– enumerate available profile manifests.ubus call luci.secubox apply_profile '{"profile_id":"home"}'– apply a preset programmatically.secubox-apprespectsSECUBOX_PLUGINS_DIRif you need to point to custom manifest trees.
Combine the wizard UI with these commands to automate deployments or build higher-level orchestration (e.g., App Store pages, onboarding scripts).