fix(mmpm): Update to MMPM v4.x CLI syntax for UI management
- Use `mmpm ui --start/--stop/--status` instead of `mmpm ui --port --host` - MMPM v4 manages GUI via pm2, not direct execution - Update status command to check pm2 status and get URL from mmpm - Auto-install UI if not present when starting service Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
f57303bdeb
commit
8c72679dea
@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=secubox-app-mmpm
|
PKG_NAME:=secubox-app-mmpm
|
||||||
PKG_VERSION:=0.2.0
|
PKG_VERSION:=0.2.0
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=5
|
||||||
PKG_ARCH:=all
|
PKG_ARCH:=all
|
||||||
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
|
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
|
||||||
PKG_LICENSE:=MIT
|
PKG_LICENSE:=MIT
|
||||||
|
|||||||
@ -149,7 +149,7 @@ cmd_status() {
|
|||||||
echo "MagicMirror2 container: RUNNING"
|
echo "MagicMirror2 container: RUNNING"
|
||||||
|
|
||||||
if is_mmpm_installed; then
|
if is_mmpm_installed; then
|
||||||
local version=$(lxc-attach -n "$LXC_NAME" -- $MMPM_BIN version 2>/dev/null | head -1 || echo "unknown")
|
local version=$(run_mmpm version 2>/dev/null | head -1 || echo "unknown")
|
||||||
echo "MMPM installed: YES (v$version)"
|
echo "MMPM installed: YES (v$version)"
|
||||||
else
|
else
|
||||||
echo "MMPM installed: NO"
|
echo "MMPM installed: NO"
|
||||||
@ -159,20 +159,17 @@ cmd_status() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Configuration ==="
|
echo "=== GUI Status ==="
|
||||||
echo "GUI Port: $port"
|
|
||||||
echo "GUI Address: $address"
|
|
||||||
echo "GUI Enabled: $enabled"
|
|
||||||
|
|
||||||
# Check if GUI is running
|
# Check if GUI is running via pm2
|
||||||
if pgrep -f "mmpm gui" >/dev/null 2>&1; then
|
local ui_status=$(run_mmpm ui --status 2>/dev/null | grep "mmpm.ui" | grep -c "online" || echo "0")
|
||||||
local router_ip=$(uci -q get network.lan.ipaddr || echo "192.168.1.1")
|
if [ "$ui_status" != "0" ]; then
|
||||||
echo ""
|
local gui_url=$(run_mmpm ui --url 2>/dev/null | grep -oE 'http://[^[:space:]]+' || echo "")
|
||||||
echo "GUI Status: RUNNING"
|
echo "GUI Status: RUNNING (pm2)"
|
||||||
echo "GUI URL: http://$router_ip:$port"
|
echo "GUI URL: $gui_url"
|
||||||
else
|
else
|
||||||
echo ""
|
|
||||||
echo "GUI Status: NOT RUNNING"
|
echo "GUI Status: NOT RUNNING"
|
||||||
|
echo "Start with: /etc/init.d/mmpm start"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +182,7 @@ cmd_logs() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Run MMPM GUI (called by procd)
|
# Start MMPM GUI (via pm2)
|
||||||
cmd_service_run() {
|
cmd_service_run() {
|
||||||
check_mm2_running || return 1
|
check_mm2_running || return 1
|
||||||
|
|
||||||
@ -194,19 +191,29 @@ cmd_service_run() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
load_config
|
log_info "Starting MMPM GUI..."
|
||||||
|
|
||||||
log_info "Starting MMPM GUI on port $port..."
|
# Check if UI is installed, if not install it
|
||||||
|
local ui_status=$(run_mmpm ui --status 2>/dev/null | grep -c "mmpm.ui" || echo "0")
|
||||||
|
if [ "$ui_status" = "0" ]; then
|
||||||
|
log_info "Installing MMPM UI..."
|
||||||
|
run_mmpm ui install --yes 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
# Run MMPM GUI inside container (with proper PATH for pm2/npm)
|
# Start MMPM GUI via pm2
|
||||||
exec lxc-attach -n "$LXC_NAME" -- sh -c "export PATH=$NODE_PATH:\$PATH && $MMPM_BIN ui --port $port --host $address"
|
run_mmpm ui --start
|
||||||
}
|
}
|
||||||
|
|
||||||
# Stop MMPM GUI
|
# Stop MMPM GUI
|
||||||
cmd_service_stop() {
|
cmd_service_stop() {
|
||||||
# Kill mmpm gui process in container
|
check_mm2_running || return 1
|
||||||
lxc-attach -n "$LXC_NAME" -- pkill -f "mmpm gui" 2>/dev/null || true
|
|
||||||
log_info "MMPM GUI stopped"
|
if ! is_mmpm_installed; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
log_info "Stopping MMPM GUI..."
|
||||||
|
run_mmpm ui --stop 2>/dev/null || true
|
||||||
}
|
}
|
||||||
|
|
||||||
# Search modules
|
# Search modules
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user