- Neue Prüfart "Server-Auslastung (P42-S.M.)": Adresse + Token (Token bleibt im Backend, wird nie an den Browser gegeben) - Karte zeigt CPU, RAM, vollste Platte, Load, Temperatur, Uptime - Klick öffnet große Ansicht: Kacheln, Platten, Threads, Temperaturen, Netzwerk, Verlaufsdiagramme (6 h / 24 h / 2 Tage) mit Tooltip und Tabelle - Hintergrund-Task speichert jede Minute einen Mittelwert (monitor_samples, 2 Tage), unabhängig davon, ob die Seite offen ist - Docker: zusätzlich im Netz p42, update-docker.sh legt es bei Bedarf an Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
||
# Container bauen und (neu) starten – auf dem Server ausführen: <projektordner>/deploy/update-docker.sh
|
||
# Die Daten in data/ und die Einstellungen in config.json bleiben dabei unberührt.
|
||
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
|
||
|
||
# Ohne config.json würde Docker an ihrer Stelle einen leeren Ordner anlegen
|
||
if [ ! -f config.json ]; then
|
||
cp config.example.json config.json
|
||
echo "config.json wurde aus config.example.json angelegt – bei Bedarf API-Keys eintragen und das Skript erneut starten."
|
||
fi
|
||
|
||
# Datenordner: der Container läuft als UID 1000 und muss hier schreiben dürfen
|
||
mkdir -p data
|
||
if [ "$(stat -c %u data)" != "1000" ]; then
|
||
echo "Setze Besitzer von data/ auf UID 1000 (sudo) ..."
|
||
sudo chown -R 1000:1000 data
|
||
fi
|
||
|
||
# Gemeinsames Netz mit P42-S.M. (Server-Auslastung) – wer zuerst startet, legt es an
|
||
docker network inspect p42 >/dev/null 2>&1 || docker network create p42 >/dev/null
|
||
|
||
docker compose up -d --build
|
||
docker image prune -f >/dev/null
|
||
|
||
sleep 5
|
||
docker compose ps
|