feat: add basic liquidsoap image config

main
lambda 2 years ago
parent 5f2f434716
commit 86c8231fc6
No known key found for this signature in database
GPG Key ID: 662ADE783CBB4026

@ -0,0 +1,16 @@
FROM savonet/liquidsoap-alpine:v2.1.4
USER root
RUN apk add tzdata
RUN cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
RUN echo "Europe/Moscow" > /etc/timezone
RUN mkdir -p /home/stream
RUN mkdir -p /home/stream/music
RUN chown -R liquidsoap:liquidsoap /home/stream
USER liquidsoap
COPY main.liq /home/stream/script.liq
CMD ["/home/stream/script.liq"]

@ -0,0 +1,18 @@
STORAGE_URL = gitea.bjornmossa.net
IMAGE_NAME = $(STORAGE_URL)/radioiceberg/liquidsoap
GIT_TAG = $(shell git describe --abbrev=0 --tags)
login:
docker login $(STORAGE_URL)
build:
docker build . -t $(IMAGE_NAME):$(GIT_TAG)
bump-latest:
docker tag $(IMAGE_NAME):$(GIT_TAG) $(IMAGE_NAME):latest
push-current: login
docker push $(IMAGE_NAME):$(GIT_TAG)
push-latest: login
docker push $(IMAGE_NAME):latest

@ -0,0 +1,33 @@
#!/usr/bin/liquidsoap
settings.harbor.bind_addrs.set(["0.0.0.0"])
enable_replaygain_metadata()
def print_meta(data)
artist = data["artist"]
title = data["title"]
meta = json()
meta.add("artist", artist)
meta.add("title", title)
http.post(data=meta.stringify(), headers=[("Content-Type", "application/json; charset=UTF-8")], "metadata:4000")
()
end
security = synth.all.sine(id="sine")
main_air_playlist = playlist("/music/main_air.pls")
general_playlist = replaygain(random([main_air_playlist]))
general_stream = normalize(crossfade(general_playlist))
live_stream = input.harbor("iceberg-live", port=6000, user="djiceberg", password="hackme")
radio = fallback(track_sensitive = false, [live_stream, general_stream, security])
radio.on_metadata(print_meta)
output.icecast(%mp3,
host = "icecast",
port = 8000,
password = "hackme",
mount = "iceberg.ogg",
radio)