-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
executable file
·89 lines (86 loc) · 2.58 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
FROM alpine:edge
RUN apk --no-cache add --virtual=deps1 \
alsa-lib-dev \
autoconf \
automake \
cmake \
avahi-dev \
bash \
bsd-compat-headers \
build-base \
confuse-dev \
curl \
curl-dev \
ffmpeg-dev \
file \
git \
gnutls-dev \
gperf \
json-c-dev \
libevent-dev \
libgcrypt-dev \
libplist-dev \
libsodium-dev \
libtool \
libunistring-dev \
openjdk7-jre-base \
protobuf-c-dev \
sqlite-dev \
&& apk add --no-cache --virtual=deps2 --repository http://nl.alpinelinux.org/alpine/edge/testing \
libantlr3c-dev \
mxml-dev \
&& apk add --no-cache \
avahi \
confuse \
dbus \
ffmpeg \
json-c \
libcurl \
libevent \
libgcrypt \
libplist \
libsodium \
libunistring \
protobuf-c \
sqlite \
sqlite-libs \
openssl \
&& apk add --no-cache --repository http://nl.alpinelinux.org/alpine/edge/testing \
libantlr3c \
mxml \
&& curl -L -o /tmp/antlr-3.4-complete.jar http://www.antlr3.org/download/antlr-3.4-complete.jar \
&& echo '#!/bin/bash' > /usr/local/bin/antlr3 \
&& echo 'exec java -cp /tmp/antlr-3.4-complete.jar org.antlr.Tool "$@"' >> /usr/local/bin/antlr3 \
&& chmod 775 /usr/local/bin/antlr3 \
&& cd /tmp \
&& git clone https://github.com/warmcat/libwebsockets.git \
&& cd /tmp/libwebsockets \
&& cmake ./ \
&& make install \
&& cd /tmp \
&& git clone https://github.com/ejurgensen/forked-daapd.git \
&& cd /tmp/forked-daapd \
&& autoreconf -i \
&& ./configure \
--enable-itunes \
--enable-mpd \
--enable-lastfm \
--enable-chromecast \
&& make \
&& make install \
&& apk del --purge deps1 deps2 \
&& rm -rf /usr/local/bin/antlr3 /tmp/* \
&& cd /usr/local/etc \
&& sed -i -e 's/\(uid.*=.*\)/uid = "root"/g' forked-daapd.conf \
&& sed -i s#"ipv6 = yes"#"ipv6 = no"#g forked-daapd.conf \
&& sed -i s#/srv/music#/music#g forked-daapd.conf \
&& sed -i s#/usr/local/var/cache/forked-daapd/songs3.db#/config/cache/songs3.db#g forked-daapd.conf \
&& sed -i s#/usr/local/var/cache/forked-daapd/cache.db#/config/cache/cache.db#g forked-daapd.conf \
&& sed -i s#/usr/local/var/log/forked-daapd.log#/dev/stdout#g forked-daapd.conf \
&& sed -i "/db_path\ =/ s/# *//" forked-daapd.conf \
&& sed -i "/cache_path\ =/ s/# *//" forked-daapd.conf
# Run container
ADD image/run.sh /root/run.sh
VOLUME /config /music
EXPOSE 3689 6600
CMD ["/root/run.sh"]