secubox-openwrt/DEPLOY_UPDATES.md
CyberMind-FR 753d50db70 docs: Update deployment guide with v1.0.0-5 and RPC troubleshooting
- Updated package version to 1.0.0-5
- Added troubleshooting for 'No related RPC reply' errors
- Explained graceful degradation behavior
- Clarified deployment order requirements
2026-01-04 14:44:49 +01:00

4.1 KiB

Deploy SecuBox AppStore Updates

Quick Deploy (All Packages)

# 1. Rebuild all affected packages
cd /home/reepost/CyberMindStudio/_files/secubox-openwrt
./secubox-tools/local-build.sh secubox-core luci-app-secubox-admin

# 2. Copy packages to router
scp bin/packages/x86_64/secubox/secubox-core_*.ipk \
    bin/packages/x86_64/secubox/luci-app-secubox-admin_*.ipk \
    root@192.168.8.191:/tmp/

# 3. Install on router
ssh root@192.168.8.191 << 'ENDSSH'
# Install packages (force-reinstall to update)
opkg install --force-reinstall /tmp/secubox-core_*.ipk
opkg install --force-reinstall /tmp/luci-app-secubox-admin_*.ipk

# Restart RPCD to reload ACLs
/etc/init.d/rpcd restart

# Verify ACL file is in place
ls -l /usr/share/rpcd/acl.d/luci-app-secubox-admin.json

echo "Installation complete!"
ENDSSH

# 4. Clear browser cache and reload
# - Press Ctrl+Shift+R in browser
# - Or clear cache manually in browser settings

Verify Installation

On the router:

# Check installed versions
opkg list-installed | grep secubox

# Verify ACL file contents
cat /usr/share/rpcd/acl.d/luci-app-secubox-admin.json

# Test RPC methods directly
ubus -S call luci.secubox get_catalog_sources
ubus -S call luci.secubox check_updates

What Was Fixed

ACL Permissions Added

Read permissions (5 new methods):

  • get_catalog_sources
  • check_updates
  • get_app_versions
  • get_changelog
  • get_widget_data

Write permissions (2 new methods):

  • set_catalog_source
  • sync_catalog

UCI access:

  • secubox-appstore config

Package Versions

  • secubox-core: 0.8.0-6
  • luci-app-secubox-admin: 1.0.0-5

Recent Fixes

v1.0.0-5 (Latest):

  • Added graceful RPC fallback with L.resolveDefault()
  • Pages now load with empty data instead of crashing when backend not deployed
  • Fixes "No related RPC reply" errors

v1.0.0-4:

  • Fixed WidgetRenderer undefined options TypeError
  • Added defensive check: options = options || {};

v1.0.0-3:

  • Added ACL permissions for new RPC methods
  • Added UCI access to secubox-appstore config

Troubleshooting

This means the backend (secubox-core) hasn't been deployed yet with the new RPCD methods.

Solution: Deploy BOTH packages:

./deploy-to-router.sh

With v1.0.0-5, pages will load gracefully with empty data until backend is deployed.

What you'll see:

  • Catalog Sources page: "No sources configured"
  • Updates page: "All applications are up to date"
  • Apps page: Works normally (uses existing RPC methods)

After deploying secubox-core, these pages will populate with real data.

Still Getting "Access Denied"?

  1. Verify ACL file was installed:

    ssh root@192.168.8.191 "cat /usr/share/rpcd/acl.d/luci-app-secubox-admin.json | grep get_catalog_sources"
    

    Should show the method name in the file.

  2. Check RPCD is running:

    ssh root@192.168.8.191 "ps | grep rpcd"
    
  3. Restart RPCD:

    ssh root@192.168.8.191 "/etc/init.d/rpcd restart"
    
  4. Check for ACL conflicts:

    ssh root@192.168.8.191 "grep -r 'luci.secubox' /usr/share/rpcd/acl.d/"
    
  5. Clear browser cache completely:

    • Close all browser windows
    • Clear cache and cookies for router IP
    • Reopen browser

Test Individual Methods

# On router, test each method:
ubus -S call luci.secubox get_catalog_sources
ubus -S call luci.secubox check_updates
ubus -S call luci.secubox get_app_versions '{"app_id":"luci-app-auth-guardian"}'
ubus -S call luci.secubox get_changelog '{"app_id":"luci-app-auth-guardian"}'
ubus -S call luci.secubox get_widget_data '{"app_id":"luci-app-auth-guardian"}'

If these work via ubus but not in browser, it's a browser cache issue.

Files Changed in This Update

  1. /usr/share/rpcd/acl.d/luci-app-secubox-admin.json - ACL permissions
  2. /usr/libexec/rpcd/luci.secubox - RPCD methods (already has the methods from Phase 2)
  3. /usr/sbin/secubox-catalog-sync - New sync script
  4. /usr/sbin/secubox-appstore - Enhanced CLI
  5. /etc/config/secubox-appstore - New UCI config
  6. All new LuCI views and widget system files