diff --git a/Dockerfile b/Dockerfile index 0e6c46e..4684d63 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,8 @@ RUN \ at \ jellyfin-server=${JELLYFIN_RELEASE} \ jellyfin-ffmpeg6 \ - mesa-va-drivers && \ + mesa-va-drivers \ + xmlstarlet && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* \ @@ -34,7 +35,7 @@ RUN \ /var/tmp/* # add local files -COPY root/ / +COPY root/ / # ports and volumes EXPOSE 8096 8920 diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 6c66d8c..2fa3997 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -28,7 +28,8 @@ RUN \ jellyfin-ffmpeg6 \ libomxil-bellagio0 \ libomxil-bellagio-bin \ - libraspberrypi0 && \ + libraspberrypi0 \ + xmlstarlet && \ echo "**** cleanup ****" && \ rm -rf \ /tmp/* \ @@ -36,7 +37,7 @@ RUN \ /var/tmp/* # add local files -COPY root/ / +COPY root/ / # ports and volumes EXPOSE 8096 8920 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/data/check b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/data/check new file mode 100755 index 0000000..2b7be3e --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/data/check @@ -0,0 +1,9 @@ +#!/bin/bash + +PORT=$(xmlstarlet sel -T -t -v /NetworkConfiguration/HttpServerPortNumber /config/network.xml) + +if [[ $(curl -sL "http://localhost:${PORT:-8096}/health" 2>/dev/null) = "Healthy" ]]; then + exit 0 +else + exit 1 +fi diff --git a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run index d227ab9..c9838e5 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-jellyfin/run @@ -13,6 +13,6 @@ export \ JELLYFIN_WEB_DIR="/usr/share/jellyfin/web" exec \ - s6-notifyoncheck -d -n 300 -w 1000 -c "curl -s --output /dev/null http://localhost:8096/health" \ + s6-notifyoncheck -d -n 300 -w 1000 \ s6-setuidgid abc /usr/bin/jellyfin \ --ffmpeg="${FFMPEG_PATH}"