--- /dev/null
+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" ]
+
--- /dev/null
+// 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.
+}