mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 21:38:38 +00:00
1a1a6138ab
- docker/entrypoint.musician.sh: on a fresh /data volume, create the managed playlists and touch radio_log.log/persistence.log empty so the track-forwarding thread waits instead of crashing when Liquidsoap runs elsewhere; never overwrites preserved files - Dockerfile.musician: wire the entrypoint, default CONJURER_MUSICIAN_BASE =/data (persist playlists/logs) and CONJURER_STREAM_TEMPLATE=/app/stream.html; declare the /data volume - DOCKER_PROXMOX.md: expand the musician section (two volumes, preserving existing playlists, radio-log coupling, stream template) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
873 B
Bash
Executable File
24 lines
873 B
Bash
Executable File
#!/bin/sh
|
|
# Prepare the musician's writable volume so the web service starts cleanly on a
|
|
# fresh container. Existing files are never overwritten (preserves your data).
|
|
set -e
|
|
|
|
DATA="${CONJURER_MUSICIAN_BASE:-/data}"
|
|
MUSIC="${CONJURER_MUSIC_FOLDER:-/music}"
|
|
mkdir -p "$DATA" "$DATA/logs" "$MUSIC"
|
|
|
|
# The track-forwarding thread tails the Liquidsoap radio logs. When the radio
|
|
# runs separately (or hasn't started yet) these files may not exist; create
|
|
# them empty so the tailer waits instead of crashing.
|
|
for f in radio_log.log persistence.log; do
|
|
[ -e "$DATA/$f" ] || : > "$DATA/$f"
|
|
done
|
|
|
|
# Ensure the managed playlists exist (routes/rescan also create them; this just
|
|
# avoids a first-tick race before the initial scan).
|
|
for f in all_playlist.playlist hit.playlist request.playlist priority_queue.playlist; do
|
|
[ -e "$DATA/$f" ] || : > "$DATA/$f"
|
|
done
|
|
|
|
exec "$@"
|