P42-S.M.: Server-Monitoring-Agent als Docker-Container

Misst CPU, RAM, Swap, Platten, Netzwerk, Temperaturen und Prozesse des
Hosts und liefert sie als JSON-API (/api/metrics, /api/history) für das
P42-Dashboard. Nur Python-Standardbibliothek, Token-geschützt,
Container ohne Root und mit schreibgeschütztem Dateisystem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
guyg1474andClaude Opus 5.5 committed 2026-10-14 15:15:01 +02:00
commit c6eef176a2
11 files changed
+727

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
#!/bin/bash
# Container bauen und (neu) starten – auf dem Server ausführen: <projektordner>/deploy/update-docker.sh
set -euo pipefail
cd "$(dirname "$(readlink -f "$0")")/.."
# Neuen Code holen, falls das Projekt per Git auf den Server kam
if [ -d .git ]; then
git pull --ff-only
fi
# Beim ersten Mal: .env mit zufälligem Token anlegen
if [ ! -f .env ]; then
cp .env.example .env
sed -i "s/^SM_TOKEN=.*/SM_TOKEN=$(openssl rand -hex 32)/" .env
chmod 600 .env
echo ".env wurde angelegt. Token für P42-F.W.:"
grep '^SM_TOKEN=' .env | cut -d= -f2
fi
docker compose up -d --build
docker image prune -f >/dev/null
sleep 5
docker compose ps