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 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-01-17 13:36:46 +01:00
parent edd170937f
commit f57303bdeb
2 changed files with 16 additions and 9 deletions

View File

@ -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:=3 PKG_RELEASE:=4
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

View File

@ -62,12 +62,19 @@ check_mm2_running() {
# MMPM binary path inside container # MMPM binary path inside container
MMPM_BIN="/usr/local/bin/mmpm" 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 # Check if MMPM is installed in container
is_mmpm_installed() { is_mmpm_installed() {
lxc-attach -n "$LXC_NAME" -- test -x "$MMPM_BIN" 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 # Install MMPM in container
cmd_install() { cmd_install() {
check_mm2_running || return 1 check_mm2_running || return 1
@ -191,8 +198,8 @@ cmd_service_run() {
log_info "Starting MMPM GUI on port $port..." log_info "Starting MMPM GUI on port $port..."
# Run MMPM GUI inside container # Run MMPM GUI inside container (with proper PATH for pm2/npm)
exec lxc-attach -n "$LXC_NAME" -- $MMPM_BIN ui --port "$port" --host "$address" exec lxc-attach -n "$LXC_NAME" -- sh -c "export PATH=$NODE_PATH:\$PATH && $MMPM_BIN ui --port $port --host $address"
} }
# Stop MMPM GUI # Stop MMPM GUI
@ -217,7 +224,7 @@ cmd_search() {
return 1 return 1
fi fi
lxc-attach -n "$LXC_NAME" -- $MMPM_BIN search "$query" run_mmpm search "$query"
} }
# List installed modules # List installed modules
@ -229,7 +236,7 @@ cmd_list() {
return 1 return 1
fi fi
lxc-attach -n "$LXC_NAME" -- $MMPM_BIN list run_mmpm list --installed
} }
# Install module via MMPM # Install module via MMPM
@ -248,7 +255,7 @@ cmd_module_install() {
fi fi
log_info "Installing module: $module" log_info "Installing module: $module"
lxc-attach -n "$LXC_NAME" -- $MMPM_BIN install "$module" --yes run_mmpm install "$module" --yes
} }
# Remove module via MMPM # Remove module via MMPM
@ -267,7 +274,7 @@ cmd_module_remove() {
fi fi
log_info "Removing module: $module" log_info "Removing module: $module"
lxc-attach -n "$LXC_NAME" -- $MMPM_BIN remove "$module" --yes run_mmpm remove "$module" --yes
} }
# Upgrade modules # Upgrade modules
@ -282,10 +289,10 @@ cmd_upgrade() {
if [ -n "$module" ]; then if [ -n "$module" ]; then
log_info "Upgrading module: $module" log_info "Upgrading module: $module"
lxc-attach -n "$LXC_NAME" -- $MMPM_BIN upgrade "$module" --yes run_mmpm upgrade "$module" --yes
else else
log_info "Upgrading all modules..." log_info "Upgrading all modules..."
lxc-attach -n "$LXC_NAME" -- $MMPM_BIN upgrade --yes run_mmpm upgrade --yes
fi fi
} }