summaryrefslogtreecommitdiff
path: root/start.sh
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-02 22:08:46 +0300
committerPaul Buetow <paul@buetow.org>2026-05-02 22:10:28 +0300
commite391bea837f9740aa8b303dedb6f87c09abd4201 (patch)
tree737ddbf8c58cd2b7acd0fb160494d9184e2c1983 /start.sh
parente898357da954acb561a0a88b4443da52f774ce36 (diff)
fix detached playback and scan progress
Diffstat (limited to 'start.sh')
-rwxr-xr-xstart.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/start.sh b/start.sh
index 4887f54..b68a234 100755
--- a/start.sh
+++ b/start.sh
@@ -9,6 +9,7 @@ PORT="${PORT:-18080}"
PIDFILE="/tmp/player.pid"
COOKIE="/tmp/player_cookies.txt"
LOGFILE="/tmp/player.log"
+TAIL_PID=""
BASEURL="http://localhost:${PORT}"
BINARY="${BINARY:-./player}"
@@ -70,10 +71,12 @@ fi
# Start server in foreground so Ctrl+C kills it directly.
export MEDIA_ROOT DB_PATH PORT LOG_LEVEL="${LOG_LEVEL:-debug}"
-"$BINARY" &
+: > "$LOGFILE"
+"$BINARY" > "$LOGFILE" 2>&1 &
SERVER_PID=$!
echo "$SERVER_PID" > "$PIDFILE"
echo "Server started (PID $SERVER_PID) at ${BASEURL}"
+echo "Server log: $LOGFILE"
sleep 2
@@ -83,6 +86,11 @@ echo "Library rescan starting..."
curl -fs -X POST "${BASEURL}/api/admin/rescan" -b "$COOKIE" > /dev/null 2>&1 || true
echo "Rescan running in background (check tail -f $LOGFILE)"
+if [ "$BACKGROUND" != "true" ]; then
+ tail -n +1 -f "$LOGFILE" &
+ TAIL_PID=$!
+fi
+
echo ""
echo "Ready. Open ${BASEURL} in your browser."
echo "Login: test / test123"
@@ -101,6 +109,9 @@ fi
shutdown_server() {
echo ""
echo "Shutting down..."
+ if [ -n "$TAIL_PID" ]; then
+ kill "$TAIL_PID" 2>/dev/null || true
+ fi
kill -TERM "$SERVER_PID" 2>/dev/null || true
wait "$SERVER_PID" 2>/dev/null || true
rm -f "$PIDFILE"