From f57303bdeb42ebb1569e68ccdfe637c83f7186c8 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Sat, 17 Jan 2026 13:36:46 +0100 Subject: [PATCH] fix(mmpm): Add Node.js PATH for npm access in MMPM commands - Add NODE_PATH variable for container npm/pm2 access - Add run_mmpm helper function with proper PATH export - Fix module install/remove/upgrade/search/list commands - Fix MMPM GUI service start with proper PATH - Fix list command to use --installed flag Co-Authored-By: Claude Opus 4.5 --- package/secubox/secubox-app-mmpm/Makefile | 2 +- .../secubox-app-mmpm/files/usr/sbin/mmpmctl | 23 ++++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/package/secubox/secubox-app-mmpm/Makefile b/package/secubox/secubox-app-mmpm/Makefile index 25f4d8e3..d6afc5dc 100644 --- a/package/secubox/secubox-app-mmpm/Makefile +++ b/package/secubox/secubox-app-mmpm/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=secubox-app-mmpm PKG_VERSION:=0.2.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_ARCH:=all PKG_MAINTAINER:=CyberMind Studio PKG_LICENSE:=MIT diff --git a/package/secubox/secubox-app-mmpm/files/usr/sbin/mmpmctl b/package/secubox/secubox-app-mmpm/files/usr/sbin/mmpmctl index 7ad54c50..4e1250e8 100644 --- a/package/secubox/secubox-app-mmpm/files/usr/sbin/mmpmctl +++ b/package/secubox/secubox-app-mmpm/files/usr/sbin/mmpmctl @@ -62,12 +62,19 @@ check_mm2_running() { # MMPM binary path inside container MMPM_BIN="/usr/local/bin/mmpm" +# Node.js PATH inside container (for npm) +NODE_PATH="/opt/nodejs/node-v24.13.0/bin:/usr/local/bin:/usr/bin:/bin" # Check if MMPM is installed in container is_mmpm_installed() { lxc-attach -n "$LXC_NAME" -- test -x "$MMPM_BIN" } +# Run MMPM command with proper PATH (for npm access) +run_mmpm() { + lxc-attach -n "$LXC_NAME" -- sh -c "export PATH=$NODE_PATH:\$PATH && $MMPM_BIN $*" +} + # Install MMPM in container cmd_install() { check_mm2_running || return 1 @@ -191,8 +198,8 @@ cmd_service_run() { log_info "Starting MMPM GUI on port $port..." - # Run MMPM GUI inside container - exec lxc-attach -n "$LXC_NAME" -- $MMPM_BIN ui --port "$port" --host "$address" + # Run MMPM GUI inside container (with proper PATH for pm2/npm) + exec lxc-attach -n "$LXC_NAME" -- sh -c "export PATH=$NODE_PATH:\$PATH && $MMPM_BIN ui --port $port --host $address" } # Stop MMPM GUI @@ -217,7 +224,7 @@ cmd_search() { return 1 fi - lxc-attach -n "$LXC_NAME" -- $MMPM_BIN search "$query" + run_mmpm search "$query" } # List installed modules @@ -229,7 +236,7 @@ cmd_list() { return 1 fi - lxc-attach -n "$LXC_NAME" -- $MMPM_BIN list + run_mmpm list --installed } # Install module via MMPM @@ -248,7 +255,7 @@ cmd_module_install() { fi log_info "Installing module: $module" - lxc-attach -n "$LXC_NAME" -- $MMPM_BIN install "$module" --yes + run_mmpm install "$module" --yes } # Remove module via MMPM @@ -267,7 +274,7 @@ cmd_module_remove() { fi log_info "Removing module: $module" - lxc-attach -n "$LXC_NAME" -- $MMPM_BIN remove "$module" --yes + run_mmpm remove "$module" --yes } # Upgrade modules @@ -282,10 +289,10 @@ cmd_upgrade() { if [ -n "$module" ]; then log_info "Upgrading module: $module" - lxc-attach -n "$LXC_NAME" -- $MMPM_BIN upgrade "$module" --yes + run_mmpm upgrade "$module" --yes else log_info "Upgrading all modules..." - lxc-attach -n "$LXC_NAME" -- $MMPM_BIN upgrade --yes + run_mmpm upgrade --yes fi }