Files
p42.s-m/deploy/update-docker.sh
guyg1474andClaude Opus 5.5 a1beee3d85 Verlauf um Swap und Temperatur ergänzen, Netz p42 als externes Netz
/api/history liefert zusätzlich swapPercent und tempMaxCelsius (für den
2-Tage-Verlauf im Dashboard). Das Docker-Netz p42 legt update-docker.sh
bei Bedarf an, damit die Startreihenfolge mit P42-F.W. egal ist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 16:22:48 +02:00

32 lines
982 B
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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
# Mit sudo gestartet: .env trotzdem dem eigentlichen Benutzer geben, sonst kann er den Token nicht lesen
if [ -n "${SUDO_USER:-}" ]; then
chown "$SUDO_USER": .env
fi
echo ".env wurde angelegt. Token für P42-F.W.:"
grep '^SM_TOKEN=' .env | cut -d= -f2
fi
# Gemeinsames Netz mit P42-F.W. – 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