forked from Celedhrim/docker-kodi-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
99 lines (93 loc) · 3.35 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
90
91
92
93
94
95
96
97
98
99
# docker-kodi-server
#
# Setup: Clone repo then checkout appropriate version
# For jarvis
# $ git checkout jarvis
# For Master (Lastest Kodi stable release)
# $ git checkout master
#
# Create your own Build:
# $ docker build --rm=true -t $(whoami)/kodi-server .
#
# Run your build:
# $ docker run -d --restart="always" --net=host -v /directory/with/kodidata:/opt/kodi-server/share/kodi/portable_data $(whoami)/kodi-server
#
#
# Greatly inspire by the work of wernerb,
# See https://github.com/wernerb/docker-xbmc-server
from base/archlinux
maintainer celedhrim "[email protected]"
# Add headless patch
ADD src/headless.patch /headless.patch
# Install dep , compile , clean
RUN cd /root && \
pacman-key --populate && \
pacman-key --refresh-keys && \
pacman -Sy --noprogressbar --noconfirm && \
pacman -S --force openssl --noconfirm && \
pacman -S pacman --noprogressbar --noconfirm && \
pacman-db-upgrade && \
pacman -Syy --noprogressbar --noconfirm archlinux-keyring && \
pacman -Su --noprogressbar --noconfirm && \
pacman --noprogressbar --noconfirm -S git make autoconf automake pkg-config swig jre8-openjdk-headless gcc python2 mesa-libgl glu libmariadbclient libass tinyxml libcrossguid yajl libxslt taglib libmicrohttpd libxrandr libssh smbclient libnfs ffmpeg libx264 cmake gperf unzip zip libcdio gtk-update-icon-cache rsync grep sed gettext which && \
ln -s /usr/bin/python2 /usr/bin/python && \
ln -s /usr/bin/python2-config /usr/bin/python-config && \
git clone https://github.com/xbmc/xbmc.git -b 17.3-Krypton --depth=1 && \
cd /root/xbmc && \
make -C tools/depends/native/JsonSchemaBuilder/ && \
cp tools/depends/native/JsonSchemaBuilder/bin/JsonSchemaBuilder /usr/local/bin && \
chmod 775 /usr/local/bin/JsonSchemaBuilder && \
mv /headless.patch . && \
git apply headless.patch && \
./bootstrap && \
./configure \
--enable-nfs \
--enable-upnp \
--enable-ssh \
--with-ffmpeg=shared \
--disable-libbluray \
--disable-debug \
--disable-vdpau \
--disable-vaapi \
--disable-crystalhd \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-openmax \
--disable-joystick \
--disable-rsxs \
--disable-projectm \
--disable-rtmp \
--disable-airplay \
--disable-airtunes \
--disable-dvdcss \
--disable-optical-drive \
--disable-libusb \
--disable-libcec \
--disable-libmp3lame \
--disable-libcap \
--disable-udev \
--disable-libvorbisenc \
--disable-asap-codec \
--disable-afpclient \
--disable-goom \
--disable-fishbmc \
--disable-spectrum \
--disable-waveform \
--disable-avahi \
--disable-texturepacker \
--disable-pulse \
--disable-dbus \
--disable-alsa \
--disable-hal \
--prefix=/opt/kodi-server && \
make && \
make install && \
mkdir -p /opt/kodi-server/share/kodi/portable_data/ && \
cd /root && \
mkdir empty && \
rsync -a --delete empty/ xbmc/ && \
pacman --noconfirm -Rnsc git make autoconf automake pkg-config swig jre8-openjdk-headless gcc cmake gperf rsync gtk-update-icon-cache grep sed gettext which && \
rm -rf /root/* /usr/lib/python2.7/test /usr/share/doc /usr/share/man /var/cache/pacman/pkg
#Eventserver and webserver respectively.
EXPOSE 9777/udp 8089/tcp
CMD ["/opt/kodi-server/lib/kodi/kodi.bin","--headless","--no-test","--nolirc","-p"]