π Gap
The icecast service ships only startup config warnings to Loki β zero access or error log lines. During the 2026-07-23 stream-dropout investigation, listener connects/disconnects and mount activity were invisible; the diagnosis had to be reconstructed from caddy + engine logs (5 queries instead of 1).
β
Fix
Icecast writes access.log/error.log to files inside the container, so the alloy docker tailer never sees them. Options:
- Point
<accesslog>/<errorlog> at - (stderr) in the icecast config template if supported, or
- Symlink the log paths to
/dev/stdout//dev/stderr in the Dockerfile (nginx-style)
Keep the service="icecast" label contract ([genwave-infra] alloy config).
π― Acceptance
{station="demo", service="icecast"} in Loki shows listener connect/disconnect and mount source events in steady state.
π Gap
The
icecastservice ships only startup config warnings to Loki β zero access or error log lines. During the 2026-07-23 stream-dropout investigation, listener connects/disconnects and mount activity were invisible; the diagnosis had to be reconstructed from caddy + engine logs (5 queries instead of 1).β Fix
Icecast writes
access.log/error.logto files inside the container, so the alloy docker tailer never sees them. Options:<accesslog>/<errorlog>at-(stderr) in the icecast config template if supported, or/dev/stdout//dev/stderrin the Dockerfile (nginx-style)Keep the
service="icecast"label contract ([genwave-infra] alloy config).π― Acceptance
{station="demo", service="icecast"}in Loki shows listener connect/disconnect and mount source events in steady state.