docker probleme
This commit is contained in:
53
deploy.sh
Normal file
53
deploy.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
# ---------------------------------------------------------------------------
|
||||
# appRobotBodyTracker — Build & Start ohne Portainer (per docker compose).
|
||||
#
|
||||
# ./deploy.sh bauen + starten (Default)
|
||||
# ./deploy.sh logs Live-Logs
|
||||
# ./deploy.sh stop stoppen + entfernen
|
||||
# ./deploy.sh status Status
|
||||
#
|
||||
# Die robot.json ist im Image eingebacken (/app/config/robot.json) -> kein
|
||||
# Volume noetig. Das Skript repariert vorher automatisch den haeufigen Fall,
|
||||
# dass config/robot.json versehentlich ein (leeres) Verzeichnis ist.
|
||||
# ---------------------------------------------------------------------------
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
PORT=8446
|
||||
NAME=appRobotBodyTracker
|
||||
|
||||
case "${1:-up}" in
|
||||
logs) exec docker compose logs -f ;;
|
||||
stop) exec docker compose down ;;
|
||||
status) exec docker compose ps ;;
|
||||
esac
|
||||
|
||||
# --- robot.json muss eine DATEI sein (kein Phantom-Verzeichnis vom Bind-Mount) ---
|
||||
if [ -d config/robot.json ]; then
|
||||
echo ">> config/robot.json ist ein Verzeichnis -> repariere aus tests/data/robot.json"
|
||||
rm -rf config/robot.json
|
||||
cp tests/data/robot.json config/robot.json
|
||||
fi
|
||||
if [ ! -f config/robot.json ]; then
|
||||
echo "FEHLER: config/robot.json fehlt."
|
||||
echo "Fix: cp tests/data/robot.json config/robot.json"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ">> Build + Start ($NAME, Port $PORT)"
|
||||
docker compose up -d --build
|
||||
|
||||
echo ">> Warte auf /v1/health ..."
|
||||
for _ in $(seq 1 30); do
|
||||
if curl -fsS "http://localhost:${PORT}/v1/health" >/dev/null 2>&1; then
|
||||
echo ">> OK $(curl -fsS "http://localhost:${PORT}/v1/health")"
|
||||
ip="$(hostname -I 2>/dev/null | awk '{print $1}')"
|
||||
echo ">> API erreichbar unter: http://${ip:-<host>}:${PORT}"
|
||||
echo ">> Logs: ./deploy.sh logs | Stop: ./deploy.sh stop"
|
||||
exit 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
echo ">> WARN: Health nicht erreicht. Logs ansehen: ./deploy.sh logs"
|
||||
exit 1
|
||||
Reference in New Issue
Block a user