Keep migrated MCPs off fresh Athena installs

This commit is contained in:
Mikei386
2026-08-25 23:23:08 +02:00
parent cca1fb217e
commit 81e56d78c6
2 changed files with 12 additions and 34 deletions
+6
View File
@@ -53,6 +53,12 @@ neueste erfolgreiche Archiv.
sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz
``` ```
5. Falls `/etc/mike-ai/mcphub-client.env` nicht im Athena-Backup enthalten
war, den Wert aus Unraids
`/mnt/nvme-storage/appdata/MCPHub/client-token` einmalig als
`MCPHUB_BEARER_TOKEN=...` eintragen und anschließend
`platform/mcp/sync-clients.py` ausführen. Der Token gehört nicht ins Git.
Das Restore stoppt ausschließlich Container, deren Volumes zurückgeschrieben Das Restore stoppt ausschließlich Container, deren Volumes zurückgeschrieben
werden. SSH, LAN und WireGuard werden nicht verändert. werden. SSH, LAN und WireGuard werden nicht verändert.
+6 -34
View File
@@ -26,39 +26,11 @@ docker network inspect mike-ai-tools-egress >/dev/null 2>&1 || \
# One administrative MCP exposes ATHENA.md plus the bounded host operator. # One administrative MCP exposes ATHENA.md plus the bounded host operator.
"$MCP_DIR/../operator/install-operator.sh" "$MCP_DIR/../operator/install-operator.sh"
profiles=()
services=(searxng tinysearch mcp-athena-operator) services=(searxng tinysearch mcp-athena-operator)
if [[ -s /etc/mike-ai/homeassistant-admin-mcp.env ]]; then # Portable Fach-MCPs laufen zentral im MCPHub auf Unraid. Ihre Compose-Blöcke
profiles+=(--profile homeassistant) # bleiben vorläufig als explizite Rollback-Profile erhalten, werden bei einer
services+=(mcp-homeassistant) # normalen Athena-Installation aber weder gebaut noch gestartet.
else echo "ARR, Deemix, GitHub, Home Assistant und Navidrome werden über MCPHub auf Unraid bereitgestellt."
echo "Home Assistant bleibt aus: Secret-Datei fehlt."
fi
if [[ -s /etc/mike-ai/arr-mcp.env ]]; then
profiles+=(--profile arr)
services+=(mcp-arr)
else
echo "ARR bleibt aus: Secret-Datei fehlt."
fi
if [[ -s /etc/mike-ai/navidrome-mcp.env ]]; then
profiles+=(--profile navidrome)
services+=(mcp-navidrome)
else
echo "Navidrome bleibt aus: Secret-Datei fehlt."
fi
if [[ -s /etc/mike-ai/deemix-mcp.env ]]; then
profiles+=(--profile deemix)
services+=(mcp-deemix)
else
echo "Deemix MCP bleibt aus: Konfigurationsdatei fehlt."
fi
if [[ -s /etc/mike-ai/github-mcp.env ]] && \
grep -Eq '^GITHUB_PERSONAL_ACCESS_TOKEN=.+$' /etc/mike-ai/github-mcp.env; then
profiles+=(--profile github)
services+=(mcp-github)
else
echo "GitHub bleibt aus: dedizierter Read-only-Token fehlt."
fi
# TinySearch keeps the embedding bundle outside the container. Download it # TinySearch keeps the embedding bundle outside the container. Download it
# once on a fresh host; subsequent rebuilds reuse the named volume. # once on a fresh host; subsequent rebuilds reuse the named volume.
# #
@@ -78,7 +50,7 @@ if ! docker run --rm --entrypoint test \
-c 'from tinysearch.services.onnx_bundle_service import ensure_onnx_bundle_sync; ensure_onnx_bundle_sync("fast")' -c 'from tinysearch.services.onnx_bundle_service import ensure_onnx_bundle_sync; ensure_onnx_bundle_sync("fast")'
fi fi
"${COMPOSE[@]}" "${profiles[@]}" up -d --build "${services[@]}" "${COMPOSE[@]}" up -d --build "${services[@]}"
for webui in mike-ai-open-webui Open-WebUI; do for webui in mike-ai-open-webui Open-WebUI; do
if docker container inspect "$webui" >/dev/null 2>&1; then if docker container inspect "$webui" >/dev/null 2>&1; then
@@ -86,4 +58,4 @@ for webui in mike-ai-open-webui Open-WebUI; do
fi fi
done done
"${COMPOSE[@]}" "${profiles[@]}" ps "${COMPOSE[@]}" ps