Migrate to s6v3
This commit is contained in:
76
Dockerfile
76
Dockerfile
@@ -1,39 +1,39 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic as buildstage
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy as buildstage
|
||||
|
||||
# build args
|
||||
ARG EMBY_RELEASE
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
cpio \
|
||||
jq \
|
||||
rpm2cpio && \
|
||||
echo "**** install emby ****" && \
|
||||
mkdir -p \
|
||||
/app/emby && \
|
||||
if [ -z ${EMBY_RELEASE+x} ]; then \
|
||||
EMBY_RELEASE=$(curl -s https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest \
|
||||
| jq -r '. | .tag_name'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/emby.rpm -L \
|
||||
"https://github.com/MediaBrowser/Emby.Releases/releases/download/${EMBY_RELEASE}/emby-server-rpm_${EMBY_RELEASE}_x86_64.rpm" && \
|
||||
cd /tmp && \
|
||||
rpm2cpio emby.rpm \
|
||||
| cpio -i --make-directories && \
|
||||
mv -t \
|
||||
/app/emby/ \
|
||||
/tmp/opt/emby-server/system/* \
|
||||
/tmp/opt/emby-server/lib/* \
|
||||
/tmp/opt/emby-server/bin/ff* \
|
||||
/tmp/opt/emby-server/etc \
|
||||
/tmp/opt/emby-server/extra/lib/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
cpio \
|
||||
jq \
|
||||
rpm2cpio && \
|
||||
echo "**** install emby ****" && \
|
||||
mkdir -p \
|
||||
/app/emby && \
|
||||
if [ -z ${EMBY_RELEASE+x} ]; then \
|
||||
EMBY_RELEASE=$(curl -s https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest \
|
||||
| jq -r '. | .tag_name'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/emby.rpm -L \
|
||||
"https://github.com/MediaBrowser/Emby.Releases/releases/download/${EMBY_RELEASE}/emby-server-rpm_${EMBY_RELEASE}_x86_64.rpm" && \
|
||||
cd /tmp && \
|
||||
rpm2cpio emby.rpm \
|
||||
| cpio -i --make-directories && \
|
||||
mv -t \
|
||||
/app/emby/ \
|
||||
/tmp/opt/emby-server/system/* \
|
||||
/tmp/opt/emby-server/lib/* \
|
||||
/tmp/opt/emby-server/bin/ff* \
|
||||
/tmp/opt/emby-server/etc \
|
||||
/tmp/opt/emby-server/extra/lib/*
|
||||
|
||||
# runtime stage
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -41,20 +41,22 @@ ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thelamer"
|
||||
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
|
||||
# install packages
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
mesa-va-drivers && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
mesa-va-drivers && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY --from=buildstage /app/emby /app/emby
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic as buildstage
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy as buildstage
|
||||
|
||||
# build args
|
||||
ARG EMBY_RELEASE
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
cpio \
|
||||
jq \
|
||||
rpm2cpio && \
|
||||
echo "**** install emby ****" && \
|
||||
mkdir -p \
|
||||
/app/emby && \
|
||||
if [ -z ${EMBY_RELEASE+x} ]; then \
|
||||
EMBY_RELEASE=$(curl -s https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest \
|
||||
| jq -r '. | .tag_name'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/emby.rpm -L \
|
||||
"https://github.com/MediaBrowser/Emby.Releases/releases/download/${EMBY_RELEASE}/emby-server-rpm_${EMBY_RELEASE}_aarch64.rpm" && \
|
||||
cd /tmp && \
|
||||
rpm2cpio emby.rpm \
|
||||
| cpio -i --make-directories && \
|
||||
mv -t \
|
||||
/app/emby/ \
|
||||
/tmp/opt/emby-server/system/* \
|
||||
/tmp/opt/emby-server/lib/* \
|
||||
/tmp/opt/emby-server/bin/ff* \
|
||||
/tmp/opt/emby-server/etc \
|
||||
/tmp/opt/emby-server/extra/lib/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
cpio \
|
||||
jq \
|
||||
rpm2cpio && \
|
||||
echo "**** install emby ****" && \
|
||||
mkdir -p \
|
||||
/app/emby && \
|
||||
if [ -z ${EMBY_RELEASE+x} ]; then \
|
||||
EMBY_RELEASE=$(curl -s https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest \
|
||||
| jq -r '. | .tag_name'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/emby.rpm -L \
|
||||
"https://github.com/MediaBrowser/Emby.Releases/releases/download/${EMBY_RELEASE}/emby-server-rpm_${EMBY_RELEASE}_aarch64.rpm" && \
|
||||
cd /tmp && \
|
||||
rpm2cpio emby.rpm \
|
||||
| cpio -i --make-directories && \
|
||||
mv -t \
|
||||
/app/emby/ \
|
||||
/tmp/opt/emby-server/system/* \
|
||||
/tmp/opt/emby-server/lib/* \
|
||||
/tmp/opt/emby-server/bin/ff* \
|
||||
/tmp/opt/emby-server/etc \
|
||||
/tmp/opt/emby-server/extra/lib/*
|
||||
|
||||
# runtime stage
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -41,23 +41,25 @@ ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thelamer"
|
||||
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
|
||||
RUN \
|
||||
echo "**** add emby deps *****" && \
|
||||
curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
|
||||
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa-nightly/ubuntu focal main">> /etc/apt/sources.list.d/raspbins.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libomxil-bellagio0 \
|
||||
libomxil-bellagio-bin \
|
||||
libraspberrypi0 && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
echo "**** add emby deps *****" && \
|
||||
curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
|
||||
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa-nightly/ubuntu focal main">> /etc/apt/sources.list.d/raspbins.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libomxil-bellagio0 \
|
||||
libomxil-bellagio-bin \
|
||||
libraspberrypi0 && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY --from=buildstage /app/emby /app/emby
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic as buildstage
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy as buildstage
|
||||
|
||||
# build args
|
||||
ARG EMBY_RELEASE
|
||||
ENV DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
cpio \
|
||||
jq \
|
||||
rpm2cpio && \
|
||||
echo "**** install emby ****" && \
|
||||
mkdir -p \
|
||||
/app/emby && \
|
||||
if [ -z ${EMBY_RELEASE+x} ]; then \
|
||||
EMBY_RELEASE=$(curl -s https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest \
|
||||
| jq -r '. | .tag_name'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/emby.rpm -L \
|
||||
"https://github.com/MediaBrowser/Emby.Releases/releases/download/${EMBY_RELEASE}/emby-server-rpm_${EMBY_RELEASE}_armv7hl.rpm" && \
|
||||
cd /tmp && \
|
||||
rpm2cpio emby.rpm \
|
||||
| cpio -i --make-directories && \
|
||||
mv -t \
|
||||
/app/emby/ \
|
||||
/tmp/opt/emby-server/system/* \
|
||||
/tmp/opt/emby-server/lib/* \
|
||||
/tmp/opt/emby-server/bin/ff* \
|
||||
/tmp/opt/emby-server/etc \
|
||||
/tmp/opt/emby-server/extra/lib/*
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
cpio \
|
||||
jq \
|
||||
rpm2cpio && \
|
||||
echo "**** install emby ****" && \
|
||||
mkdir -p \
|
||||
/app/emby && \
|
||||
if [ -z ${EMBY_RELEASE+x} ]; then \
|
||||
EMBY_RELEASE=$(curl -s https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest \
|
||||
| jq -r '. | .tag_name'); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/emby.rpm -L \
|
||||
"https://github.com/MediaBrowser/Emby.Releases/releases/download/${EMBY_RELEASE}/emby-server-rpm_${EMBY_RELEASE}_armv7hl.rpm" && \
|
||||
cd /tmp && \
|
||||
rpm2cpio emby.rpm \
|
||||
| cpio -i --make-directories && \
|
||||
mv -t \
|
||||
/app/emby/ \
|
||||
/tmp/opt/emby-server/system/* \
|
||||
/tmp/opt/emby-server/lib/* \
|
||||
/tmp/opt/emby-server/bin/ff* \
|
||||
/tmp/opt/emby-server/etc \
|
||||
/tmp/opt/emby-server/extra/lib/*
|
||||
|
||||
# runtime stage
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -41,23 +41,25 @@ ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="thelamer"
|
||||
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
|
||||
RUN \
|
||||
echo "**** add emby deps *****" && \
|
||||
curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
|
||||
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa-nightly/ubuntu focal main">> /etc/apt/sources.list.d/raspbins.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libomxil-bellagio0 \
|
||||
libomxil-bellagio-bin \
|
||||
libraspberrypi0 && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
echo "**** add emby deps *****" && \
|
||||
curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
|
||||
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa-nightly/ubuntu focal main">> /etc/apt/sources.list.d/raspbins.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libomxil-bellagio0 \
|
||||
libomxil-bellagio-bin \
|
||||
libraspberrypi0 && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY --from=buildstage /app/emby /app/emby
|
||||
|
||||
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@@ -720,7 +720,7 @@ pipeline {
|
||||
-e DO_REGION="ams3" \
|
||||
-e DO_BUCKET="lsio-ci" \
|
||||
-t ghcr.io/linuxserver/ci:latest \
|
||||
python /ci/ci.py'''
|
||||
python3 test_build.py'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -289,6 +289,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **18.09.22:** - Migrate to s6v3.
|
||||
* **19.05.21:** - Structural changes upstream.
|
||||
* **17.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information. Remove no longer used mapping for /transcode.
|
||||
* **21.12.20:** - Rebase to Focal, see [here](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal) for troubleshooting armhf.
|
||||
|
||||
@@ -90,6 +90,7 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "18.09.22:", desc: "Migrate to s6v3." }
|
||||
- { date: "19.05.21:", desc: "Structural changes upstream." }
|
||||
- { date: "17.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information. Remove no longer used mapping for /transcode." }
|
||||
- { date: "21.12.20:", desc: "Rebase to Focal, see [here](https://docs.linuxserver.io/faq#my-host-is-incompatible-with-images-based-on-ubuntu-focal) for troubleshooting armhf." }
|
||||
|
||||
13
root/etc/cont-init.d/30-config → root/etc/s6-overlay/s6-rc.d/init-emby/run
Normal file → Executable file
13
root/etc/cont-init.d/30-config → root/etc/s6-overlay/s6-rc.d/init-emby/run
Normal file → Executable file
@@ -2,15 +2,16 @@
|
||||
|
||||
# Create folders
|
||||
mkdir -p \
|
||||
/data \
|
||||
/transcode
|
||||
/data \
|
||||
/transcode
|
||||
|
||||
# permissions (non-recursive) on config root and folders
|
||||
chown abc:abc \
|
||||
/config \
|
||||
/data \
|
||||
/transcode
|
||||
/config \
|
||||
/data \
|
||||
/transcode
|
||||
|
||||
if [ -n "$(ls -A /data 2>/dev/null)" ]; then
|
||||
chown abc:abc \
|
||||
/data/*
|
||||
/data/*
|
||||
fi
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-emby/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-emby/type
Normal file
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-emby/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-emby/up
Normal file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-emby/run
|
||||
0
root/etc/cont-init.d/40-gid-video → root/etc/s6-overlay/s6-rc.d/init-video/run
Normal file → Executable file
0
root/etc/cont-init.d/40-gid-video → root/etc/s6-overlay/s6-rc.d/init-video/run
Normal file → Executable file
1
root/etc/s6-overlay/s6-rc.d/init-video/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-video/type
Normal file
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-video/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-video/up
Normal file
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-video/run
|
||||
1
root/etc/s6-overlay/s6-rc.d/svc-emby/notification-fd
Normal file
1
root/etc/s6-overlay/s6-rc.d/svc-emby/notification-fd
Normal file
@@ -0,0 +1 @@
|
||||
3
|
||||
18
root/etc/s6-overlay/s6-rc.d/svc-emby/run
Executable file
18
root/etc/s6-overlay/s6-rc.d/svc-emby/run
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# env settings
|
||||
APP_DIR="/app/emby"
|
||||
export LD_LIBRARY_PATH="${APP_DIR}"
|
||||
export FONTCONFIG_PATH="${APP_DIR}"/etc/fonts
|
||||
if [ -d "/lib/x86_64-linux-gnu" ]; then
|
||||
export LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri:"${APP_DIR}"/dri
|
||||
fi
|
||||
export SSL_CERT_FILE="${APP_DIR}"/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z 127.0.0.1 8096" \
|
||||
s6-setuidgid abc /app/emby/EmbyServer \
|
||||
-programdata /config \
|
||||
-ffdetect /app/emby/ffdetect \
|
||||
-ffmpeg /app/emby/ffmpeg \
|
||||
-ffprobe /app/emby/ffprobe \
|
||||
-restartexitcode 3
|
||||
1
root/etc/s6-overlay/s6-rc.d/svc-emby/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/svc-emby/type
Normal file
@@ -0,0 +1 @@
|
||||
longrun
|
||||
@@ -1,24 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# set umask
|
||||
if [ -n "${UMASK_SET}" ] && [ -z "${UMASK}" ]; then
|
||||
echo -e "You are using a legacy method of defining umask\nplease update your environment variable from UMASK_SET to UMASK\nto keep the functionality after July 2021"
|
||||
umask ${UMASK_SET}
|
||||
fi
|
||||
|
||||
# env settings
|
||||
APP_DIR="/app/emby"
|
||||
export LD_LIBRARY_PATH="${APP_DIR}"
|
||||
export FONTCONFIG_PATH="${APP_DIR}"/etc/fonts
|
||||
if [ -d "/lib/x86_64-linux-gnu" ]; then
|
||||
export LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri:"${APP_DIR}"/dri
|
||||
fi
|
||||
export SSL_CERT_FILE="${APP_DIR}"/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc /app/emby/EmbyServer \
|
||||
-programdata /config \
|
||||
-ffdetect /app/emby/ffdetect \
|
||||
-ffmpeg /app/emby/ffmpeg \
|
||||
-ffprobe /app/emby/ffprobe \
|
||||
-restartexitcode 3
|
||||
Reference in New Issue
Block a user