start.sh now pulls gitea.it-drui.de/viewit/kx-bridge:latest or :nightly depending on user choice (interactive prompt or ./start.sh <channel> argument), instead of building the image locally from source.
79 lines
2.1 KiB
Bash
Executable File
79 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# start.sh – KX-Bridge starten (zieht das fertige Image aus der Registry)
|
||
|
||
set -euo pipefail
|
||
|
||
cd "$(dirname "$0")"
|
||
|
||
IMAGE_BASE="gitea.it-drui.de/viewit/kx-bridge"
|
||
|
||
# .env anlegen falls nicht vorhanden
|
||
if [[ ! -f .env ]]; then
|
||
if [[ -f .env.example ]]; then
|
||
cp .env.example .env
|
||
echo "[start] .env aus .env.example erstellt"
|
||
else
|
||
touch .env
|
||
fi
|
||
fi
|
||
|
||
# config/ Verzeichnis und config.ini.example anlegen falls nicht vorhanden
|
||
mkdir -p config
|
||
if [[ ! -f config/config.ini ]] && [[ ! -f config/config.ini.example ]]; then
|
||
if [[ -f config.ini.example ]]; then
|
||
cp config.ini.example config/config.ini.example
|
||
echo "[start] config/config.ini.example aus config.ini.example erstellt"
|
||
fi
|
||
fi
|
||
|
||
# Docker verfügbar?
|
||
if ! docker info > /dev/null 2>&1; then
|
||
echo "[start] Docker nicht gefunden – bitte Docker installieren."
|
||
exit 1
|
||
fi
|
||
|
||
# Release-Kanal abfragen
|
||
CHANNEL=""
|
||
if [[ "${1:-}" == "stable" || "${1:-}" == "nightly" ]]; then
|
||
CHANNEL="$1"
|
||
else
|
||
echo ""
|
||
echo " Welchen Release-Kanal möchtest du starten?"
|
||
echo " 1) stable (empfohlen)"
|
||
echo " 2) nightly (getestete Vorabversion)"
|
||
echo -n " Auswahl [1]: "
|
||
read -r CHOICE
|
||
case "$CHOICE" in
|
||
2) CHANNEL="nightly" ;;
|
||
*) CHANNEL="stable" ;;
|
||
esac
|
||
fi
|
||
|
||
if [[ "$CHANNEL" == "nightly" ]]; then
|
||
IMAGE_TAG="nightly"
|
||
else
|
||
IMAGE_TAG="latest"
|
||
fi
|
||
IMAGE="$IMAGE_BASE:$IMAGE_TAG"
|
||
|
||
echo "[start] Kanal: $CHANNEL → Image: $IMAGE"
|
||
echo "[start] Ziehe aktuelles Image ..."
|
||
docker pull "$IMAGE"
|
||
|
||
# docker-compose.yml auf den gewählten Kanal umschreiben (nur die image-Zeile)
|
||
if [[ -f docker-compose.yml ]]; then
|
||
sed -i.bak -E "s#^(\s*image:\s*).*#\1$IMAGE#" docker-compose.yml
|
||
rm -f docker-compose.yml.bak
|
||
fi
|
||
|
||
# Container starten
|
||
echo "[start] Starte KX-Bridge ..."
|
||
docker-compose down 2>/dev/null || true
|
||
docker-compose up -d
|
||
|
||
echo ""
|
||
echo " ✓ KX-Bridge läuft ($CHANNEL)"
|
||
echo " Web-UI : http://$(hostname -I | awk '{print $1}'):7125"
|
||
echo " Logs : docker-compose logs -f"
|
||
echo " Stop : docker-compose down"
|