69 lines
1.8 KiB
Docker
69 lines
1.8 KiB
Docker
FROM alpine AS builder-base
|
|
|
|
RUN apk -U add \
|
|
git \
|
|
build-base \
|
|
autoconf \
|
|
automake \
|
|
libtool \
|
|
dbus \
|
|
su-exec \
|
|
alsa-lib-dev \
|
|
libdaemon-dev \
|
|
popt-dev \
|
|
mbedtls-dev \
|
|
soxr-dev \
|
|
avahi-dev \
|
|
libconfig-dev \
|
|
libsndfile-dev \
|
|
mosquitto-dev \
|
|
xmltoman
|
|
|
|
FROM builder-base AS builder-alac
|
|
|
|
RUN git clone --recursive https://github.com/mikebrady/alac
|
|
WORKDIR alac
|
|
RUN autoreconf -fi
|
|
RUN ./configure
|
|
RUN make
|
|
RUN make install
|
|
|
|
FROM builder-base AS builder-sps
|
|
|
|
COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/
|
|
COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc
|
|
COPY --from=builder-alac /usr/local/include /usr/local/include
|
|
|
|
RUN git clone --recursive https://github.com/mikebrady/shairport-sync
|
|
WORKDIR shairport-sync
|
|
RUN git checkout development
|
|
RUN autoreconf -fi
|
|
RUN ./configure \
|
|
--with-alsa \
|
|
--with-dummy \
|
|
--with-pipe \
|
|
--with-stdout \
|
|
--with-avahi \
|
|
--with-ssl=mbedtls \
|
|
--with-soxr \
|
|
--sysconfdir=/etc \
|
|
--with-dbus-interface \
|
|
--with-mpris-interface \
|
|
--with-mqtt-client \
|
|
--with-apple-alac \
|
|
--with-convolution
|
|
RUN make -j $(nproc)
|
|
RUN make install
|
|
|
|
RUN addgroup shairport-sync
|
|
RUN adduser -D shairport-sync -G shairport-sync
|
|
|
|
# Add the shairport-sync user to the pre-existing audio group, which has ID 29, for access to the ALSA stuff
|
|
RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio
|
|
|
|
COPY shairport-sync.conf /etc/shairport-sync.conf
|
|
COPY start.sh /start.sh
|
|
|
|
ENTRYPOINT [ "/start.sh" ]
|
|
|