2
0
mirror of https://github.com/spritsail/plex-media-server.git synced 2025-06-15 15:31:12 +00:00

Build multiarch amd64/arm64 Plex images

Signed-off-by: Adam Dodman <adam@adam-ant.co.uk>
Signed-off-by: Joe Groocock <me@frebib.net>
This commit is contained in:
2022-06-19 16:03:35 +01:00
parent d34d9d2fcc
commit 4579290641
6 changed files with 152 additions and 76 deletions

View File

@ -1,6 +1,5 @@
ARG PLEX_VER=1.27.1.5891-c29537f86
ARG PLEX_SHA=e6361f4089683b1e560481251bec206e91232aeb
ARG BUSYBOX_VER=1.34.1
ARG BUSYBOX_VER=1.35.0
ARG SU_EXEC_VER=0.4
ARG TINI_VER=0.19.0
ARG ZLIB_VER=1.2.12
@ -18,7 +17,7 @@ ARG LDFLAGS="$CFLAGS -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FROM spritsail/alpine:3.15 AS builder
FROM spritsail/alpine:3.16 AS builder
RUN apk add --no-cache \
autoconf \
@ -43,36 +42,39 @@ RUN apk add --no-cache \
FROM builder AS plex
ARG PLEX_VER
ARG PLEX_SHA
ARG OUTPUT
WORKDIR $OUTPUT
# Fetch Plex and required libraries
RUN curl -fsSL -o plexmediaserver.deb https://downloads.plex.tv/plex-media-server-new/${PLEX_VER}/debian/plexmediaserver_${PLEX_VER}_amd64.deb \
&& echo "$PLEX_SHA plexmediaserver.deb" | sha1sum -c - \
RUN if [ "$(uname -m)" = "aarch64" ]; then \
ARCH=arm64; LIB_DIRS=lib/omx; \
else \
ARCH=amd64; LIB_DIRS=lib/dri; \
fi \
&& curl -fsSL -o plexmediaserver.deb https://downloads.plex.tv/plex-media-server-new/${PLEX_VER}/debian/plexmediaserver_${PLEX_VER}_${ARCH}.deb \
&& dpkg-deb -x plexmediaserver.deb . \
\
&& rm -r \
&& rm -rfv \
etc/ usr/share/ \
usr/lib/plexmediaserver/etc \
plexmediaserver.deb \
\
&& cd usr/lib/plexmediaserver \
&& rm \
&& rm -v \
lib/libcrypto.so* \
lib/libcurl.so* \
lib/libssl.so* \
lib/libnghttp2.so* \
lib/plexmediaserver.* \
etc/ld-musl-x86_64.path \
Resources/start.sh \
\
# Place shared libraries in usr/lib so they can be actually shared
&& mv lib/*.so* lib/dri ../ \
&& rmdir lib etc \
&& mv lib/*.so* $LIB_DIRS ../ \
&& rmdir lib \
&& ln -sv ../ lib \
# Replace hardlink with a symlink; these files are the same
&& cd .. && ln -sfvn ld-musl-x86_64.so.1 libc.so
&& cd .. && ln -sfvn "ld-musl-$(uname -m).so.1" libc.so
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~