Last active
December 30, 2022 16:06
-
-
Save dromer/9d3ff97078b234bd9744ad29f387a828 to your computer and use it in GitHub Desktop.
alpine-liquidsoap-video
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# LS build container | |
FROM alpine:edge as ls-build | |
RUN apk --no-cache add \ | |
gstreamer \ | |
gst-plugins-base \ | |
gst-plugins-good \ | |
gst-plugins-bad \ | |
gst-plugins-ugly \ | |
gst-libav \ | |
ffmpeg \ | |
opam \ | |
make \ | |
gstreamer-dev \ | |
m4 \ | |
ocaml-compiler-libs \ | |
musl-dev \ | |
gst-plugins-base-dev \ | |
gst-plugins-bad-dev \ | |
ffmpeg-dev \ | |
git \ | |
automake \ | |
autoconf | |
# these are not in 3.11 - so that's why we are on edge, and need the testing repo | |
RUN apk --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing add \ | |
frei0r-plugins \ | |
frei0r-plugins-dev \ | |
fdk-aac \ | |
fdk-aac-dev | |
# install our user | |
RUN addgroup -S appgroup && adduser -S appuser -G appgroup | |
USER appuser | |
RUN opam init --disable-sandboxing | |
RUN test -r /home/appuser/.opam/opam-init/init.sh && . /home/appuser/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true | |
RUN opam pin add -y fdkaac https://github.com/savonet/ocaml-fdkaac.git | |
RUN opam pin add -y gstreamer https://github.com/savonet/ocaml-gstreamer.git | |
RUN opam update && \ | |
opam install -y \ | |
duppy \ | |
frei0r \ | |
gstreamer \ | |
fdkaac \ | |
ffmpeg \ | |
liquidsoap | |
# crude cleanup | |
RUN rm -r \ | |
/home/appuser/.opam/default/.opam-switch \ | |
/home/appuser/.opam/default/lib/base \ | |
/home/appuser/.opam/default/lib/ocaml-migrate-parsetree \ | |
/home/appuser/.opam/default/lib/sedlex \ | |
/home/appuser/.opam/default/lib/ppx_tools_versioned \ | |
/home/appuser/.opam/default/lib/dune-private-libs \ | |
/home/appuser/.opam/default/lib/pcre \ | |
/home/appuser/.opam/default/lib/mm \ | |
/home/appuser/.opam/default/lib/dtools \ | |
/home/appuser/.opam/default/lib/ocamlbuild \ | |
/home/appuser/.opam/default/lib/findlib \ | |
/home/appuser/.opam/default/lib/gen \ | |
/home/appuser/.opam/default/lib/menhirLib \ | |
/home/appuser/.opam/default/bin/dune \ | |
/home/appuser/.opam/default/bin/ocamlfind \ | |
/home/appuser/.opam/default/bin/menhir \ | |
/home/appuser/.opam/default/bin/ocamlbuild.native \ | |
/home/appuser/.opam/default/bin/ocamlbuild \ | |
/home/appuser/.opam/default/doc \ | |
/home/appuser/.opam/repo \ | |
/home/appuser/.opam/download-cache | |
# LS container | |
FROM alpine:edge as liquidsoap | |
RUN apk --no-cache add \ | |
gstreamer \ | |
gst-plugins-base \ | |
gst-plugins-good \ | |
gst-plugins-bad \ | |
gst-plugins-ugly \ | |
gst-libav \ | |
ffmpeg \ | |
gstreamer-tools \ | |
faac \ | |
librtmp | |
RUN apk --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing add \ | |
frei0r-plugins \ | |
fdk-aac | |
RUN addgroup -S appgroup && adduser -S appuser -G appgroup | |
USER appuser | |
COPY --from=ls-build /home/appuser/.opam /home/appuser/.opam | |
WORKDIR /app | |
COPY playlist.liq . | |
CMD ["/home/appuser/.opam/default/bin/liquidsoap", "playlist.liq"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment