From 28a2f7e5f728c87caf0d33b7e81a92f7420562f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tabet?= Date: Fri, 10 Mar 2023 23:27:02 +0100 Subject: [PATCH 1/2] Add Dockerfile --- Dockerfile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..684f11a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM debian:stable-slim as build + +RUN apt-get update && \ + apt-get install -y build-essential autoconf automake libtool pkg-config libupnp-dev libgstreamer1.0-dev uuid-runtime + +WORKDIR /opt/gmrender-resurrect +COPY . . + +RUN ./autogen.sh && ./configure CPPFLAGS="-DGMRENDER_UUID='\"`uuidgen`\"'" && make && make install + +FROM debian:stable-slim as run + +COPY --from=build /usr/local/bin/gmediarender /usr/local/bin/gmediarender +COPY --from=build /usr/local/share/gmediarender/grender-64x64.png /usr/local/share/gmediarender/grender-64x64.png +COPY --from=build /usr/local/share/gmediarender/grender-128x128.png /usr/local/share/gmediarender/grender-128x128.png + +RUN apt-get update && \ + apt-get install -y pulseaudio libupnp-dev libgstreamer1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio \ + gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly + +EXPOSE 49494 + +ENTRYPOINT gmediarender --logfile=stdout -f $FRIENDLY_NAME \ No newline at end of file From 8681769cfb0b3d93c77940d939c69552c1828b15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Tabet?= Date: Sun, 26 Mar 2023 09:53:13 +0200 Subject: [PATCH 2/2] Update Dockerfile --- Dockerfile | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 684f11a..3b24663 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,29 @@ -FROM debian:stable-slim as build - -RUN apt-get update && \ - apt-get install -y build-essential autoconf automake libtool pkg-config libupnp-dev libgstreamer1.0-dev uuid-runtime +ARG AUDIO_BACKEND="alsa" +# Build image +FROM alpine:latest AS build +ARG UUID +RUN apk add --update build-base autoconf automake libtool pkgconfig gstreamer-dev libupnp-dev uuidgen WORKDIR /opt/gmrender-resurrect COPY . . - -RUN ./autogen.sh && ./configure CPPFLAGS="-DGMRENDER_UUID='\"`uuidgen`\"'" && make && make install - -FROM debian:stable-slim as run - -COPY --from=build /usr/local/bin/gmediarender /usr/local/bin/gmediarender -COPY --from=build /usr/local/share/gmediarender/grender-64x64.png /usr/local/share/gmediarender/grender-64x64.png -COPY --from=build /usr/local/share/gmediarender/grender-128x128.png /usr/local/share/gmediarender/grender-128x128.png - -RUN apt-get update && \ - apt-get install -y pulseaudio libupnp-dev libgstreamer1.0-dev gstreamer1.0-libav gstreamer1.0-pulseaudio \ - gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly - +RUN ./autogen.sh && ./configure CPPFLAGS="-DGMRENDER_UUID='\"${UUID:-`uuidgen`}\"'" +RUN make && make install DESTDIR=/gmrender-install + +# ALSA image +FROM alpine:latest AS alpine-alsa +RUN apk add --update alsa-lib alsa-utils + +# PulsaAudio image +FROM alpine:latest AS alpine-pulse +RUN apk add --update pulseaudio + +# Run image +FROM alpine-${AUDIO_BACKEND} +COPY --from=build /gmrender-install / +RUN apk add --update tini libupnp gstreamer gstreamer-tools gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly +ENV FRIENDLY_NAME= +ENV UUID= +ENV OPTIONS= EXPOSE 49494 - -ENTRYPOINT gmediarender --logfile=stdout -f $FRIENDLY_NAME \ No newline at end of file +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["/bin/sh", "-c", "/usr/local/bin/gmediarender --logfile=stdout ${FRIENDLY_NAME:+-f \"$FRIENDLY_NAME\"} ${UUID:+--uuid \"$UUID\"} $OPTIONS"] \ No newline at end of file