bollwerk/start-server.sh
Jens Reinemann a5f89e6a69 rename: Krisenvorrat -> Bollwerk
- Package: de.krisenvorrat.* -> de.bollwerk.*
- Klassen: KrisenvorratApp/Database/Theme -> Bollwerk*
- ApplicationId: de.bollwerk.app
- Server: BOLLWERK_* Env-Vars, bollwerk HOCON-Config
- Docker: bollwerk-server/db/backup Container-Namen
- Room DB: bollwerk.db, SharedPrefs: bollwerk_secure_prefs
- Export-Dateien: bollwerk_export/inventar
- UI-Strings, HTML, Admin-UI: alle auf Bollwerk
- Docs, Skills, README angepasst
- Alle Tests gruen, Build erfolgreich
2026-05-17 17:44:02 +02:00

62 lines
1.5 KiB
Bash

#!/usr/bin/env bash
#
# Startet den Bollwerk Dev-Server im LAN.
#
# Verwendung:
# ./start-server.sh # Standard API-Key
# ./start-server.sh --build # Fat-JAR neu bauen
# ./start-server.sh --api-key "mein-key" # Eigener API-Key
#
set -euo pipefail
cd "$(dirname "$0")"
API_KEY="dev-api-key-change-in-production"
FORCE_BUILD=false
while [[ $# -gt 0 ]]; do
case "$1" in
--build)
FORCE_BUILD=true
shift
;;
--api-key)
API_KEY="$2"
shift 2
;;
*)
echo "Unknown option: $1" >&2
exit 1
;;
esac
done
JAR_PATH="server/build/libs/server.jar"
# Fat-JAR bauen falls nötig
if [ "$FORCE_BUILD" = true ] || [ ! -f "$JAR_PATH" ]; then
echo "Building server fat JAR..."
./gradlew :server:buildFatJar
echo "Build successful."
fi
# LAN-IP ermitteln
LAN_IP=""
if command -v ip &>/dev/null; then
LAN_IP=$(ip -4 addr show scope global | grep -oP 'inet \K[\d.]+' | head -1)
elif command -v ifconfig &>/dev/null; then
LAN_IP=$(ifconfig | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | head -1)
fi
echo ""
echo "=== Bollwerk Dev-Server ==="
echo "Local: http://localhost:8080"
if [ -n "$LAN_IP" ]; then
echo "LAN: http://${LAN_IP}:8080"
fi
echo "API-Key: $API_KEY"
echo "Press Ctrl+C to stop"
echo ""
# Server starten
export BOLLWERK_API_KEY="$API_KEY"
java -jar "$JAR_PATH"