Skip to content

Commit 88765a0

Browse files
thelamerCHBMB
authored andcommitted
Pipeline hw (#150)
* adding multi arch logic and pipeline, first version of included hardware accel info, pulling debs from new endpoint * removing web screenshotting from ci process * adding update logic for arm variants and templating readme file * Adding nvidia environment variables * Adding information on nvidia container runtime * updating pipeline logic to use static endpoint and disabling updates on those branches * bug bashing escape characters in jenkins logic * remove avahi service that is no longer needed by plex * set new artifact download location
1 parent 391f0a7 commit 88765a0

12 files changed

Lines changed: 1068 additions & 119 deletions

File tree

Dockerfile

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@ FROM lsiobase/ubuntu:bionic
33
# set version label
44
ARG BUILD_DATE
55
ARG VERSION
6+
ARG PLEX_RELEASE
67
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
7-
LABEL maintainer="sparklyballs"
8+
LABEL maintainer="sparklyballs, thelamer"
9+
10+
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
11+
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
12+
ENV NVIDIA_DRIVER_CAPABILITIES="all"
813

914
# global environment settings
1015
ENV DEBIAN_FRONTEND="noninteractive" \
@@ -20,16 +25,24 @@ RUN \
2025
echo "**** install runtime packages ****" && \
2126
apt-get update && \
2227
apt-get install -y \
23-
avahi-daemon \
24-
dbus \
2528
udev \
2629
unrar \
27-
wget && \
30+
wget \
31+
jq && \
32+
echo "**** Udevadm hack ****" && \
33+
mv /sbin/udevadm /sbin/udevadm.bak && \
34+
echo "exit 0" > /sbin/udevadm && \
35+
chmod +x /sbin/udevadm && \
2836
echo "**** install plex ****" && \
37+
if [ -z ${PLEX_RELEASE+x} ]; then \
38+
PLEX_RELEASE=$(curl -s 'https://plex.tv/downloads/details/1?build=linux-ubuntu-x86_64&distro=ubuntu' \
39+
|grep -oP 'version="\K[^"]+' | tail -n 1); \
40+
fi && \
2941
curl -o \
30-
/tmp/plexmediaserver.deb -L \
31-
"${PLEX_INSTALL}" && \
42+
/tmp/plexmediaserver.deb -L \
43+
"https://downloads.plex.tv/plex-media-server/${PLEX_RELEASE}/plexmediaserver_${PLEX_RELEASE}_amd64.deb" && \
3244
dpkg -i /tmp/plexmediaserver.deb && \
45+
mv /sbin/udevadm.bak /sbin/udevadm && \
3346
echo "**** ensure abc user's home folder is /app ****" && \
3447
usermod -d /app abc && \
3548
echo "**** cleanup ****" && \

Dockerfile.aarch64

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM lsiobase/ubuntu.arm64:bionic
2+
3+
# Add qemu to build on x86_64 systems
4+
COPY qemu-aarch64-static /usr/bin
5+
6+
# set version label
7+
ARG BUILD_DATE
8+
ARG VERSION
9+
ARG PLEX_RELEASE
10+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
11+
LABEL maintainer="sparklyballs, thelamer"
12+
13+
# global environment settings
14+
ENV DEBIAN_FRONTEND="noninteractive" \
15+
PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/config/Library/Application Support" \
16+
PLEX_MEDIA_SERVER_HOME="/usr/lib/plexmediaserver" \
17+
PLEX_MEDIA_SERVER_INFO_DEVICE=docker \
18+
PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6" \
19+
PLEX_MEDIA_SERVER_USER=abc
20+
21+
RUN \
22+
echo "**** install runtime packages ****" && \
23+
apt-get update && \
24+
apt-get install -y \
25+
udev \
26+
unrar \
27+
wget \
28+
jq && \
29+
echo "**** Udevadm hack ****" && \
30+
mv /sbin/udevadm /sbin/udevadm.bak && \
31+
echo "exit 0" > /sbin/udevadm && \
32+
chmod +x /sbin/udevadm && \
33+
echo "**** install plex ****" && \
34+
curl -o \
35+
/tmp/plexmediaserver.deb -L \
36+
"https://downloads.plex.tv/plex-media-server-new/1.15.0.647-67e950f12/debian/plexmediaserver_1.15.0.647-67e950f12_arm64.deb" && \
37+
dpkg -i /tmp/plexmediaserver.deb && \
38+
mv /sbin/udevadm.bak /sbin/udevadm && \
39+
echo "**** ensure abc user's home folder is /app ****" && \
40+
usermod -d /app abc && \
41+
echo "**** cleanup ****" && \
42+
apt-get clean && \
43+
rm -rf \
44+
/etc/default/plexmediaserver \
45+
/tmp/* \
46+
/var/lib/apt/lists/* \
47+
/var/tmp/*
48+
49+
# add local files
50+
COPY root/ /
51+
52+
# ports and volumes
53+
EXPOSE 32400 32400/udp 32469 32469/udp 5353/udp 1900/udp
54+
VOLUME /config /transcode

Dockerfile.armhf

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM lsiobase/ubuntu.armhf:bionic
2+
3+
# Add qemu to build on x86_64 systems
4+
COPY qemu-arm-static /usr/bin
5+
6+
# set version label
7+
ARG BUILD_DATE
8+
ARG VERSION
9+
ARG PLEX_RELEASE
10+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
11+
LABEL maintainer="sparklyballs, thelamer"
12+
13+
# global environment settings
14+
ENV DEBIAN_FRONTEND="noninteractive" \
15+
PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="/config/Library/Application Support" \
16+
PLEX_MEDIA_SERVER_HOME="/usr/lib/plexmediaserver" \
17+
PLEX_MEDIA_SERVER_INFO_DEVICE=docker \
18+
PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6" \
19+
PLEX_MEDIA_SERVER_USER=abc
20+
21+
RUN \
22+
echo "**** install runtime packages ****" && \
23+
apt-get update && \
24+
apt-get install -y \
25+
udev \
26+
unrar \
27+
wget \
28+
jq && \
29+
echo "**** Udevadm hack ****" && \
30+
mv /sbin/udevadm /sbin/udevadm.bak && \
31+
echo "exit 0" > /sbin/udevadm && \
32+
chmod +x /sbin/udevadm && \
33+
echo "**** install plex ****" && \
34+
curl -o \
35+
/tmp/plexmediaserver.deb -L \
36+
"https://downloads.plex.tv/plex-media-server-new/1.15.0.647-67e950f12/debian/plexmediaserver_1.15.0.647-67e950f12_armhf.deb" && \
37+
dpkg -i /tmp/plexmediaserver.deb && \
38+
mv /sbin/udevadm.bak /sbin/udevadm && \
39+
echo "**** ensure abc user's home folder is /app ****" && \
40+
usermod -d /app abc && \
41+
echo "**** cleanup ****" && \
42+
apt-get clean && \
43+
rm -rf \
44+
/etc/default/plexmediaserver \
45+
/tmp/* \
46+
/var/lib/apt/lists/* \
47+
/var/tmp/*
48+
49+
# add local files
50+
COPY root/ /
51+
52+
# ports and volumes
53+
EXPOSE 32400 32400/udp 32469 32469/udp 5353/udp 1900/udp
54+
VOLUME /config /transcode

0 commit comments

Comments
 (0)