diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-02 22:08:46 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-02 22:10:28 +0300 |
| commit | e391bea837f9740aa8b303dedb6f87c09abd4201 (patch) | |
| tree | 737ddbf8c58cd2b7acd0fb160494d9184e2c1983 /start.sh | |
| parent | e898357da954acb561a0a88b4443da52f774ce36 (diff) | |
fix detached playback and scan progress
Diffstat (limited to 'start.sh')
| -rwxr-xr-x | start.sh | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -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" |
