diff --git a/package/secubox/secubox-app-jabber/files/usr/sbin/jabberctl b/package/secubox/secubox-app-jabber/files/usr/sbin/jabberctl index 6ee7e704..ca436408 100755 --- a/package/secubox/secubox-app-jabber/files/usr/sbin/jabberctl +++ b/package/secubox/secubox-app-jabber/files/usr/sbin/jabberctl @@ -238,25 +238,18 @@ SOURCES create_startup_script() { cat > "$LXC_ROOTFS/opt/start-jabber.sh" <<'STARTUP' #!/bin/bash -set -e export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin +# Get hostname from environment or default +XMPP_DOMAIN="${XMPP_HOSTNAME:-jabber.local}" +ADMIN_USER="${XMPP_ADMIN:-admin}" + # Generate Prosody config if not exists if [ ! -f /etc/prosody/prosody.cfg.lua.configured ]; then echo "[JABBER] Generating Prosody configuration..." - # Get hostname from environment or default - XMPP_DOMAIN="${XMPP_HOSTNAME:-jabber.local}" - ADMIN_USER="${XMPP_ADMIN:-admin}" - - # Generate self-signed certificates - if [ ! -f /var/lib/prosody/${XMPP_DOMAIN}.crt ]; then - echo "[JABBER] Generating SSL certificates..." - prosodyctl cert generate "$XMPP_DOMAIN" - fi - - # Create main config + # Create main config FIRST (before cert generation) cat > /etc/prosody/prosody.cfg.lua </dev/null + chown prosody:prosody "${XMPP_DOMAIN}.crt" "${XMPP_DOMAIN}.key" + chmod 600 "${XMPP_DOMAIN}.key" + touch /etc/prosody/prosody.cfg.lua.configured echo "[JABBER] Configuration generated" fi @@ -585,9 +588,9 @@ cmd_check() { fi done - # Prosody process + # Prosody process (runs as lua5.4) if lxc_running; then - if lxc_exec pgrep prosody >/dev/null 2>&1; then + if lxc_exec pgrep -f "lua.*prosody" >/dev/null 2>&1; then echo "[OK] Prosody process running" else echo "[FAIL] Prosody process not running" @@ -606,7 +609,7 @@ cmd_status() { lxc_running && running=1 if [ "$running" = "1" ]; then - lxc_exec pgrep prosody >/dev/null 2>&1 && prosody_proc=1 + lxc_exec pgrep -f "lua.*prosody" >/dev/null 2>&1 && prosody_proc=1 user_count=$(lxc_exec find /var/lib/prosody -name "*.dat" -path "*accounts*" 2>/dev/null | wc -l) fi @@ -652,7 +655,7 @@ EOF lxc-info -n "$LXC_NAME" | grep -E "PID|Memory" | sed 's/^/ /' echo "" echo "Services:" - lxc_exec pgrep prosody >/dev/null 2>&1 && echo " Prosody: UP" || echo " Prosody: DOWN" + lxc_exec pgrep -f "lua.*prosody" >/dev/null 2>&1 && echo " Prosody: UP" || echo " Prosody: DOWN" # User count local users=$(lxc_exec find /var/lib/prosody -name "*.dat" -path "*accounts*" 2>/dev/null | wc -l)