/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>
32 lines
982 B
Bash
Executable File
32 lines
982 B
Bash
Executable File
#!/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
|