Simple Docker configuration
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
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" ]
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// Shairport Sync has a rich collection of configuration settings.
|
||||
|
||||
// This very simple configuration file simply gives the AirPlay service
|
||||
// the default name "Docker".
|
||||
|
||||
// Please look at /etc/shairport-sync.conf.sample for lots more settings and information
|
||||
// Or go to the sample configuration file on the home respository:
|
||||
// https://github.com/mikebrady/shairport-sync/blob/master/scripts/shairport-sync.conf
|
||||
|
||||
general =
|
||||
{
|
||||
name = "Docker"; // This is the name the service will advertise to iTunes.
|
||||
}
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
rm -rf /var/run/dbus.pid
|
||||
#mkdir -p /var/run/dbus
|
||||
|
||||
dbus-uuidgen --ensure
|
||||
dbus-daemon --system
|
||||
|
||||
avahi-daemon --daemonize --no-chroot
|
||||
|
||||
shairport-sync $@
|
||||
Reference in New Issue
Block a user