193 lines
4.7 KiB
XML
193 lines
4.7 KiB
XML
<?xml version='1.0' standalone='yes'?>
|
|
<!DOCTYPE PLUGIN [
|
|
<!ENTITY name "mua">
|
|
<!ENTITY author "Michael">
|
|
<!ENTITY version "1.0.0">
|
|
<!ENTITY launch "Settings/MUA">
|
|
<!ENTITY pluginURL "http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent/raw/branch/main/plugin/mua.plg">
|
|
<!ENTITY pluginLOC "/boot/config/plugins/&name;">
|
|
<!ENTITY emhttpLOC "/usr/local/emhttp/plugins/&name;">
|
|
]>
|
|
|
|
<PLUGIN name="&name;"
|
|
author="&author;"
|
|
version="&version;"
|
|
launch="&launch;"
|
|
pluginURL="&pluginURL;"
|
|
icon="cubes"
|
|
min="7.0.0"
|
|
support="http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent"
|
|
project="http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent"
|
|
>
|
|
|
|
<CHANGES>
|
|
### 1.0.0
|
|
- Initial release: 21 Docker, network, and system tools as MCP server over HTTP (Streamable HTTP, port 3002).
|
|
</CHANGES>
|
|
|
|
<!--
|
|
===========================================
|
|
PRE-INSTALL: Cleanup + Verzeichnisse
|
|
===========================================
|
|
-->
|
|
<FILE Run="/bin/bash">
|
|
<INLINE>
|
|
set -e
|
|
|
|
echo ""
|
|
echo "===================================================="
|
|
echo " MUA - Mikes Unraid Agent"
|
|
echo " Installation"
|
|
echo "===================================================="
|
|
echo ""
|
|
|
|
# Verzeichnisse
|
|
mkdir -p &emhttpLOC;/mcp
|
|
mkdir -p &emhttpLOC;/scripts
|
|
mkdir -p &pluginLOC;
|
|
mkdir -p /var/log/plugins
|
|
touch /var/log/plugins/mua.log
|
|
|
|
</INLINE>
|
|
</FILE>
|
|
|
|
<!--
|
|
===========================================
|
|
GIT-CLONE + DATEIEN INSTALLIEREN
|
|
===========================================
|
|
-->
|
|
<FILE Run="/bin/bash">
|
|
<INLINE>
|
|
set -e
|
|
|
|
GIT_REPO="http://192.168.1.2:4000/michael/MUA-Mikes-Unraid-Agent.git"
|
|
TMP_DIR="/tmp/mua-install-$$"
|
|
|
|
echo " Kloniere Repo..."
|
|
git clone --depth 1 "$GIT_REPO" "$TMP_DIR" 2>&1 | sed 's/^/ /'
|
|
|
|
# MCP-Server (PHP)
|
|
echo " Installiere MCP-Server..."
|
|
cp "$TMP_DIR/mcp/server.php" &emhttpLOC;/mcp/
|
|
cp "$TMP_DIR/mcp/helpers.php" &emhttpLOC;/mcp/
|
|
cp "$TMP_DIR/mcp/tools.php" &emhttpLOC;/mcp/
|
|
cp "$TMP_DIR/mcp/selftest.php" &emhttpLOC;/mcp/
|
|
chmod 644 &emhttpLOC;/mcp/*.php
|
|
|
|
# PHP-Helper (Write-Operationen)
|
|
echo " Installiere PHP-Helper..."
|
|
cp "$TMP_DIR/scripts/unraid-docker-mcp-helper.php" /usr/local/bin/
|
|
chmod 755 /usr/local/bin/unraid-docker-mcp-helper.php
|
|
|
|
# WebGUI-Tab (.page-Format)
|
|
echo " Installiere WebGUI-Tab..."
|
|
cp "$TMP_DIR/scripts/mua.page" &emhttpLOC;/mua.page
|
|
chmod 644 &emhttpLOC;/mua.page
|
|
|
|
# SysVinit-Service
|
|
echo " Installiere Service..."
|
|
cp "$TMP_DIR/scripts/rc.mua" /etc/rc.d/rc.mua
|
|
chmod 755 /etc/rc.d/rc.mua
|
|
|
|
# Cleanup
|
|
rm -rf "$TMP_DIR"
|
|
|
|
</INLINE>
|
|
</FILE>
|
|
|
|
<!--
|
|
===========================================
|
|
POST-INSTALL: Selftest + Service starten
|
|
===========================================
|
|
-->
|
|
<FILE Run="/bin/bash">
|
|
<INLINE>
|
|
set +e
|
|
|
|
echo " Führe Selftest aus..."
|
|
php &emhttpLOC;/mcp/selftest.php 2>&1 | sed 's/^/ /'
|
|
|
|
echo " Starte MCP-Server..."
|
|
/etc/rc.d/rc.mua start
|
|
|
|
# Health-Check
|
|
sleep 2
|
|
if curl -sf "http://127.0.0.1:3002/health" > /dev/null 2>&1; then
|
|
echo ""
|
|
echo " Health-Check: OK"
|
|
echo ""
|
|
echo "===================================================="
|
|
echo " MUA installiert und läuft auf Port 3002"
|
|
echo " Endpunkt: http://$(hostname -I | awk '{print $1}'):3002/mcp"
|
|
echo " WebGUI: Settings > MUA"
|
|
echo "===================================================="
|
|
else
|
|
echo ""
|
|
echo " WARNUNG: Health-Check fehlgeschlagen"
|
|
echo " Logs: tail -f /var/log/plugins/mua.log"
|
|
echo "===================================================="
|
|
fi
|
|
|
|
exit 0
|
|
|
|
</INLINE>
|
|
</FILE>
|
|
|
|
<!--
|
|
===========================================
|
|
UPDATE: Alte Dateien bereinigen
|
|
===========================================
|
|
-->
|
|
<FILE Run="/bin/bash" Method="update">
|
|
<INLINE>
|
|
# Alte Dateien entfernen vor Reinstall
|
|
rm -rf &emhttpLOC;/mcp
|
|
rm -rf &emhttpLOC;/scripts
|
|
rm -f &emhttpLOC;/mua.page
|
|
rm -f &emhttpLOC;/plugin.php
|
|
|
|
</INLINE>
|
|
</FILE>
|
|
|
|
<!--
|
|
===========================================
|
|
REMOVE: Deinstallation
|
|
===========================================
|
|
-->
|
|
<FILE Run="/bin/bash" Method="remove">
|
|
<INLINE>
|
|
echo ""
|
|
echo "===================================================="
|
|
echo " MUA - Mikes Unraid Agent"
|
|
echo " Deinstallation"
|
|
echo "===================================================="
|
|
echo ""
|
|
|
|
# 1. Service stoppen
|
|
/etc/rc.d/rc.mua stop 2>/dev/null || true
|
|
|
|
# 2. Service-Datei entfernen
|
|
rm -f /etc/rc.d/rc.mua
|
|
|
|
# 3. PHP-Helper entfernen
|
|
rm -f /usr/local/bin/unraid-docker-mcp-helper.php
|
|
|
|
# 4. Plugin-Verzeichnis entfernen
|
|
rm -rf &emhttpLOC;
|
|
|
|
# 5. Config entfernen
|
|
rm -rf &pluginLOC;
|
|
|
|
# 6. Logs entfernen
|
|
rm -f /var/log/plugins/mua.log
|
|
rm -f /var/run/mua.pid
|
|
|
|
echo ""
|
|
echo " MUA wurde deinstalliert."
|
|
echo "===================================================="
|
|
|
|
</INLINE>
|
|
</FILE>
|
|
|
|
</PLUGIN>
|