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>
56 lines
1.7 KiB
Smarty
56 lines
1.7 KiB
Smarty
<!-- Icecast2 config template for the radio container.
|
|
The entrypoint substitutes the __*_PASSWORD__ placeholders from
|
|
/srv/betoniarka/secrets/icecast_credentials.json and writes the result
|
|
to /etc/icecast2/icecast.xml. Never commit real passwords here. -->
|
|
<icecast>
|
|
<location>Wolne Ksiestwo Baluty</location>
|
|
<admin>admin@localhost</admin>
|
|
|
|
<limits>
|
|
<clients>64</clients>
|
|
<sources>4</sources>
|
|
<queue-size>524288</queue-size>
|
|
<client-timeout>30</client-timeout>
|
|
<header-timeout>15</header-timeout>
|
|
<source-timeout>10</source-timeout>
|
|
<burst-on-connect>1</burst-on-connect>
|
|
<burst-size>65535</burst-size>
|
|
</limits>
|
|
|
|
<authentication>
|
|
<source-password>__SOURCE_PASSWORD__</source-password>
|
|
<relay-password>__RELAY_PASSWORD__</relay-password>
|
|
<admin-user>admin</admin-user>
|
|
<admin-password>__ADMIN_PASSWORD__</admin-password>
|
|
</authentication>
|
|
|
|
<hostname>__HOSTNAME__</hostname>
|
|
|
|
<listen-socket>
|
|
<port>8000</port>
|
|
<bind-address>0.0.0.0</bind-address>
|
|
</listen-socket>
|
|
|
|
<http-headers>
|
|
<header name="Access-Control-Allow-Origin" value="*" />
|
|
</http-headers>
|
|
|
|
<fileserve>1</fileserve>
|
|
|
|
<paths>
|
|
<basedir>/usr/share/icecast2</basedir>
|
|
<logdir>/var/log/icecast2</logdir>
|
|
<webroot>/usr/share/icecast2/web</webroot>
|
|
<adminroot>/usr/share/icecast2/admin</adminroot>
|
|
<alias source="/" destination="/status.xsl"/>
|
|
</paths>
|
|
|
|
<logging>
|
|
<accesslog>access.log</accesslog>
|
|
<errorlog>error.log</errorlog>
|
|
<loglevel>3</loglevel>
|
|
<logsize>10000</logsize>
|
|
<logarchive>0</logarchive>
|
|
</logging>
|
|
</icecast>
|