This repository has been archived by the owner on Jun 23, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Dockerfile
54 lines (42 loc) · 1.38 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Dockerfile for a Multi-Room-Audio-Streaming-Server
#FROM blitznote/debootstrap-amd64:16.04
FROM ubuntu:16.04
MAINTAINER s1lvester <[email protected]>
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
# get the stuffs
RUN apt-get -qq update &&\
apt-get -qq install build-essential git avahi-daemon avahi-utils dbus shairport-sync \
supervisor bzip2 portaudio19-dev libvorbisfile3 curl libprotoc-dev cargo &&\
# Snapcast, Shairport-sync,avahi and dbus
curl -L -o /root/out.deb 'https://github.com/badaix/snapcast/releases/download/v0.15.0/snapserver_0.15.0_amd64.deb' &&\
dpkg -i --force-all /root/out.deb &&\
apt-get -y -f install &&\
mkdir -p /root/.config/snapcast/ &&\
rm -rf /var/run/* &&\
mkdir -p /var/run/dbus &&\
chown messagebus:messagebus /var/run/dbus &&\
dbus-uuidgen --ensure &&\
# cleanup
apt-get -qq autoremove &&\
apt-get -qq clean &&\
rm /root/out.deb &&\
rm -rf /var/lib/apt/lists/*
# mounting dbus on host so avahi can work.
VOLUME /var/run/dbus
# config-files
ADD ./supervisord.conf /etc/supervisord.conf
ADD ./shairport.cfg /etc/shairport.cfg
ADD ./asound.conf /etc/asound.conf
ADD ./start.sh /start.sh
ADD ./librespot /usr/local/bin/librespot
RUN chmod a+x /start.sh
# Snapcast Ports
EXPOSE 1704-1704
# AirPlay ports.
EXPOSE 3689/tcp
EXPOSE 5000-5005/tcp
EXPOSE 6000-6005/udp
# Avahi port
EXPOSE 5353
ENTRYPOINT ["/start.sh"]