Skip to content

Instantly share code, notes, and snippets.

@dstecholution
Last active June 14, 2022 14:49
Show Gist options
  • Select an option

  • Save dstecholution/1ed1edf2e9a74d4144247cb4b7f66732 to your computer and use it in GitHub Desktop.

Select an option

Save dstecholution/1ed1edf2e9a74d4144247cb4b7f66732 to your computer and use it in GitHub Desktop.
#!/usr/bin/liquidsoap
# General settings
settings.log.level.set(3)
settings.log.stdout.set(true)
# Telnet server settings
settings.server.telnet.bind_addr.set("0.0.0.0")
settings.server.telnet.port.set(8500)
settings.server.telnet.set(true)
# Harbor HTTP server settings
settings.harbor.bind_addrs.set(["0.0.0.0"])
settings.harbor.max_connections.set(10)
settings.harbor.timeout.set(10.)
settings.harbor.verbose.set(false)
# Prometheus settings
settings.prometheus.server.set(true)
settings.prometheus.server.port.set(9090)
# Audio settings
settings.frame.audio.samplerate.set(44100)
settings.frame.audio.channels.set(2)
settings.audio.converter.samplerate.libsamplerate.quality.set("fast")
# Clocks settings
settings.root.max_latency.set(5.)
settings.clock.allow_streaming_errors.set(false)
stream_port = 8000
stream_user = "source"
stream_token = "letmein"
stream_mount = "mopidy"
live = input.harbor("/mopidy",port=8080,password="letmein")
def outputs(radio) =
<<< heredoc[bash]
HOSTS="$(dig icecast.default.svc.cluster.local)"
$(for x in $HOSTS; do echo '\
output.icecast(%vorbis, host = $x, \
port = stream_port, password = stream_token, mount = stream_mount,\
mksafe(radio))')
<<< ...
end
outputs(fallback(track_sensitive=false, [skip_blank(live)]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment