mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 13:34:40 +00:00
fcb03e304c
Per review of the first radio-container cut:
- radio_conjurer.liq: replace the cargo-culted /home/pi/Conjurer and
/home/pi/MediaFolder paths with the container layout -
/srv/betoniarka/data (playlists, script.params, persistence/radio logs),
/srv/betoniarka/music (library + emergency track) and
/srv/betoniarka/secrets/icecast_credentials.json;
interactive.persistent now uses an absolute path;
output.icecast targets host="localhost" (icecast lives in the container)
- Icecast2 now runs INSIDE the radio container: entrypoint renders
/etc/icecast2/icecast.xml from docker/icecast.xml.tpl, filling
source/admin/relay passwords from the secret provisioned at install time
(same pattern as the bot's netrc); optional admin_password/relay_password
fields default to password; icecast starts as its unprivileged user;
port 8000 exposed for listeners; extra_hosts hack removed
- compose.radio.yaml: same-path mounts for /srv/betoniarka/{data,music,secrets}
- ffmpeg.pref removed from the repo (the pin only mattered against the
RPi OS repo; bookworm ships the right FFmpeg 5.x natively) - verdict
preserved in the docs and the legacy installer note updated
- docs: updated radio section (volumes, secret provisioning, wire-up)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
2.0 KiB
Bash
52 lines
2.0 KiB
Bash
#!/bin/bash
|
|
cd /home/pi
|
|
mkdir Conjurer
|
|
cd Conjurer
|
|
python3 -m venv /home/pi/Conjurer/env
|
|
source /home/pi/Conjurer/env/bin/activate
|
|
cp /home/pi/conjurer/conjurer_musician/requirements_musician.txt /home/pi/Conjurer/
|
|
cp /home/pi/conjurer/conjurer_musician/conjurer_musician.py /home/pi/Conjurer/
|
|
cp /home/pi/conjurer/conjurer_musician/radio_conjurer.liq /home/pi/Conjurer/
|
|
touch /home/pi/Conjurer/discord_mus_service.log
|
|
|
|
touch /home/pi/Conjurer/playlist.json
|
|
touch /home/pi/Conjurer/prio_playlist.json
|
|
|
|
touch /home/pi/Conjurer/all_playlist.playlist
|
|
touch /home/pi/Conjurer/priority_queue.playlist
|
|
touch /home/pi/Conjurer/hit.playlist
|
|
touch /home/pi/Conjurer/request.playlist
|
|
touch /home/pi/Conjurer/persistence.log
|
|
echo "[]" > /home/pi/Conjurer/persistence.log
|
|
|
|
sudo usermod -aG pulse-access pi
|
|
sudo usermod -aG pulse-access root
|
|
|
|
sudo usermod -aG audio pi
|
|
sudo usermod -aG audio root
|
|
|
|
echo "Add exception suppresion to signal handler in spotify __ini__.py"
|
|
echo "Add password to youtube opts in spotify_dl youtube.py"
|
|
echo "NOTE: the old ffmpeg.pref pin is obsolete (containerised radio uses Debian bookworm ffmpeg 5.x natively; file removed from the repo)"
|
|
echo "Install opam from installation link"
|
|
echo "Initialize opam"
|
|
echo "Install liquidsoap and its dependencies"
|
|
|
|
touch /home/pi/Conjurer/radio_log.log
|
|
./env/bin/python3 -m pip install --upgrade pip
|
|
./env/bin/python3 -m pip install -r requirements_musician.txt
|
|
deactivate
|
|
sudo cp /home/pi/conjurer/conjurer_musician/conjurer_musician.service /etc/systemd/system/
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl start conjurer_musician.service
|
|
sudo systemctl enable conjurer_musician.service
|
|
|
|
sudo cp /home/pi/conjurer/conjurer_musician/radio_service.service /etc/systemd/system/
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl start radio_service.service
|
|
sudo systemctl enable radio_service.service
|
|
|
|
|
|
sed -i -e 's/os.rename/shutil.copy/g' ./env/lib/python3.11/site-packages/spotify_dl/youtube.py
|
|
sed -i '1i\import shutil' ./env/lib/python3.11/site-packages/spotify_dl/youtube.py
|