From: Christian König Date: Wed, 1 Feb 2023 13:10:06 +0000 (+0100) Subject: Update Dockerfiles X-Git-Tag: 4.2.1d0~21^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bea0faf488f18ca51552705519a67fa65ff29af5;p=thirdparty%2Fshairport-sync.git Update Dockerfiles Signed-off-by: Christian König --- diff --git a/docker/Dockerfile b/docker/Dockerfile index 5a6bc678..f1ea8d66 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 AS builder +FROM alpine:3.17 AS builder # Check required arguments exist. These will be provided by the Github Action # Workflow and are required to ensure the correct branches are being used. @@ -26,7 +26,6 @@ RUN apk -U add \ ffmpeg-dev \ xxd \ libressl-dev \ - openssl-dev \ libplist-dev ##### ALAC ##### @@ -66,7 +65,7 @@ WORKDIR / ##### SPS END ##### # Shairport Sync Runtime System -FROM crazymax/alpine-s6:3.12-3.1.1.2 +FROM crazymax/alpine-s6:3.17-3.1.1.2 RUN apk -U add \ alsa-lib \ @@ -83,6 +82,7 @@ RUN apk -U add \ ffmpeg \ libsodium \ libgcrypt \ + libressl3.6-libcrypto \ libplist \ mandoc \ man-pages \ @@ -100,7 +100,7 @@ COPY --from=builder /shairport-sync/build/install/etc/dbus-1/system.d/shairport- COPY --from=builder /shairport-sync/build/install/etc/dbus-1/system.d/shairport-sync-mpris.conf /etc/dbus-1/system.d/ COPY ./docker/etc/s6-overlay/s6-rc.d /etc/s6-overlay/s6-rc.d -RUN chmod +x /etc/s6-overlay/s6-rc.d/startup/script.sh +RUN chmod +x /etc/s6-overlay/s6-rc.d/01-startup/script.sh # Create non-root user for running the container -- running as the user 'shairport-sync' also allows # Shairport Sync to provide the D-Bus and MPRIS interfaces within the container @@ -114,4 +114,4 @@ RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio && addgr # Remove anything we don't need. RUN rm -rf /lib/apk/db/* -ENTRYPOINT [ "/init", "/usr/local/bin/shairport-sync" ] +ENTRYPOINT [ "/init" ] diff --git a/docker/classic/Dockerfile b/docker/classic/Dockerfile index 03baac5e..f6cb01c7 100644 --- a/docker/classic/Dockerfile +++ b/docker/classic/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.12 AS builder +FROM alpine:3.17 AS builder # Classic (aka AirPlay 1) Build @@ -49,7 +49,7 @@ WORKDIR / ##### SPS END ##### # Shairport Sync Runtime System -FROM crazymax/alpine-s6:3.12-3.1.1.2 +FROM crazymax/alpine-s6:3.17-3.1.1.2 RUN apk -U add \ alsa-lib \ @@ -78,7 +78,7 @@ COPY --from=builder /shairport-sync/build/install/etc/dbus-1/system.d/shairport- COPY --from=builder /shairport-sync/build/install/etc/dbus-1/system.d/shairport-sync-mpris.conf /etc/dbus-1/system.d/ COPY ./docker/classic/etc/s6-overlay/s6-rc.d /etc/s6-overlay/s6-rc.d -RUN chmod +x /etc/s6-overlay/s6-rc.d/startup/script.sh +RUN chmod +x /etc/s6-overlay/s6-rc.d/01-startup/script.sh # Create non-root user for running the container -- running as the user 'shairport-sync' also allows # Shairport Sync to provide the D-Bus and MPRIS interfaces within the container @@ -92,4 +92,4 @@ RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio && addgr # Remove anything we don't need. RUN rm -rf /lib/apk/db/* -ENTRYPOINT [ "/init", "/usr/local/bin/shairport-sync" ] +ENTRYPOINT [ "/init" ] diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/dependencies b/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/dependencies new file mode 100644 index 00000000..df967b96 --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/dependencies @@ -0,0 +1 @@ +base diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/startup/script.sh b/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/script.sh similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/startup/script.sh rename to docker/classic/etc/s6-overlay/s6-rc.d/01-startup/script.sh diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/startup/type b/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/type similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/startup/type rename to docker/classic/etc/s6-overlay/s6-rc.d/01-startup/type diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/up b/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/up new file mode 100644 index 00000000..0521bff8 --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/01-startup/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/01-startup/script.sh diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/run b/docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/run deleted file mode 100644 index 2f6be7b4..00000000 --- a/docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/run +++ /dev/null @@ -1,8 +0,0 @@ -#!/command/with-contenv sh -sleep 5 -while [ ! -f /var/run/dbus.pid ]; do - "dbus is not running, sleeping for 5 seconds before trying to start avahi" - sleep 5 -done -echo "Starting avahi" -exec avahi-daemon --no-chroot diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/dependencies b/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/dependencies new file mode 100644 index 00000000..f04b211f --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/dependencies @@ -0,0 +1 @@ +01-startup diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/finish b/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/finish similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/finish rename to docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/finish diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/run b/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/run similarity index 73% rename from docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/run rename to docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/run index bf1cb501..2278697a 100644 --- a/docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/run +++ b/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/run @@ -1,4 +1,4 @@ #!/command/with-contenv sh -rm -rf /var/run/dbus.pid +rm -rf /var/run/dbus/dbus.pid echo "Starting dbus" exec dbus-daemon --system --nofork diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/type b/docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/type similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/01-dbus/type rename to docker/classic/etc/s6-overlay/s6-rc.d/02-dbus/type diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/dependencies b/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/dependencies new file mode 100644 index 00000000..497f42ec --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/dependencies @@ -0,0 +1 @@ +02-dbus diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/finish b/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/finish similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/finish rename to docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/finish diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/run b/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/run new file mode 100644 index 00000000..20275d40 --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/run @@ -0,0 +1,7 @@ +#!/command/with-contenv sh +while [ ! -f /var/run/dbus/dbus.pid ]; do + echo "s6-rc: warning: dbus is not running, sleeping for 1 seconds before trying to start avahi" + sleep 1 +done +echo "Starting avahi" +exec avahi-daemon --no-chroot diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/type b/docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/type similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/02-avahi/type rename to docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/type diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/dependencies b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/dependencies new file mode 100644 index 00000000..97763270 --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/dependencies @@ -0,0 +1 @@ +03-avahi diff --git a/docker/etc/s6-overlay/s6-rc.d/01-dbus/finish b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/finish similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/01-dbus/finish rename to docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/finish diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/run b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/run new file mode 100644 index 00000000..c533db5e --- /dev/null +++ b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/run @@ -0,0 +1,7 @@ +#!/command/with-contenv sh +while [ ! -f /var/run/avahi-daemon/pid ]; do + echo "s6-rc: warning: avahi is not running, sleeping for 1 seconds before trying to start shairport-sync" + sleep 1 +done +echo "Starting shairport-sync" +exec /usr/local/bin/shairport-sync diff --git a/docker/etc/s6-overlay/s6-rc.d/01-dbus/type b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/type similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/01-dbus/type rename to docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/type diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/startup/up b/docker/classic/etc/s6-overlay/s6-rc.d/startup/up deleted file mode 100644 index 06df8350..00000000 --- a/docker/classic/etc/s6-overlay/s6-rc.d/startup/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/startup/script.sh diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/01-dbus b/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/01-startup similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/01-dbus rename to docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/01-startup diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/02-avahi b/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/02-dbus similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/02-avahi rename to docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/02-dbus diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/startup b/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/03-avahi similarity index 100% rename from docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/startup rename to docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/03-avahi diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/01-dbus b/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/04-shairport-sync similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/user/contents.d/01-dbus rename to docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/04-shairport-sync diff --git a/docker/etc/s6-overlay/s6-rc.d/01-startup/dependencies b/docker/etc/s6-overlay/s6-rc.d/01-startup/dependencies new file mode 100644 index 00000000..df967b96 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/01-startup/dependencies @@ -0,0 +1 @@ +base diff --git a/docker/etc/s6-overlay/s6-rc.d/startup/script.sh b/docker/etc/s6-overlay/s6-rc.d/01-startup/script.sh similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/startup/script.sh rename to docker/etc/s6-overlay/s6-rc.d/01-startup/script.sh diff --git a/docker/etc/s6-overlay/s6-rc.d/startup/type b/docker/etc/s6-overlay/s6-rc.d/01-startup/type similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/startup/type rename to docker/etc/s6-overlay/s6-rc.d/01-startup/type diff --git a/docker/etc/s6-overlay/s6-rc.d/01-startup/up b/docker/etc/s6-overlay/s6-rc.d/01-startup/up new file mode 100644 index 00000000..0521bff8 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/01-startup/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/01-startup/script.sh diff --git a/docker/etc/s6-overlay/s6-rc.d/02-avahi/run b/docker/etc/s6-overlay/s6-rc.d/02-avahi/run deleted file mode 100644 index 2f6be7b4..00000000 --- a/docker/etc/s6-overlay/s6-rc.d/02-avahi/run +++ /dev/null @@ -1,8 +0,0 @@ -#!/command/with-contenv sh -sleep 5 -while [ ! -f /var/run/dbus.pid ]; do - "dbus is not running, sleeping for 5 seconds before trying to start avahi" - sleep 5 -done -echo "Starting avahi" -exec avahi-daemon --no-chroot diff --git a/docker/etc/s6-overlay/s6-rc.d/02-dbus/dependencies b/docker/etc/s6-overlay/s6-rc.d/02-dbus/dependencies new file mode 100644 index 00000000..f04b211f --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/02-dbus/dependencies @@ -0,0 +1 @@ +01-startup diff --git a/docker/etc/s6-overlay/s6-rc.d/02-avahi/finish b/docker/etc/s6-overlay/s6-rc.d/02-dbus/finish similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/02-avahi/finish rename to docker/etc/s6-overlay/s6-rc.d/02-dbus/finish diff --git a/docker/etc/s6-overlay/s6-rc.d/01-dbus/run b/docker/etc/s6-overlay/s6-rc.d/02-dbus/run similarity index 73% rename from docker/etc/s6-overlay/s6-rc.d/01-dbus/run rename to docker/etc/s6-overlay/s6-rc.d/02-dbus/run index bf1cb501..2278697a 100644 --- a/docker/etc/s6-overlay/s6-rc.d/01-dbus/run +++ b/docker/etc/s6-overlay/s6-rc.d/02-dbus/run @@ -1,4 +1,4 @@ #!/command/with-contenv sh -rm -rf /var/run/dbus.pid +rm -rf /var/run/dbus/dbus.pid echo "Starting dbus" exec dbus-daemon --system --nofork diff --git a/docker/etc/s6-overlay/s6-rc.d/02-avahi/type b/docker/etc/s6-overlay/s6-rc.d/02-dbus/type similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/02-avahi/type rename to docker/etc/s6-overlay/s6-rc.d/02-dbus/type diff --git a/docker/etc/s6-overlay/s6-rc.d/03-avahi/dependencies b/docker/etc/s6-overlay/s6-rc.d/03-avahi/dependencies new file mode 100644 index 00000000..497f42ec --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/03-avahi/dependencies @@ -0,0 +1 @@ +02-dbus diff --git a/docker/etc/s6-overlay/s6-rc.d/03-nqptp/finish b/docker/etc/s6-overlay/s6-rc.d/03-avahi/finish similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/03-nqptp/finish rename to docker/etc/s6-overlay/s6-rc.d/03-avahi/finish diff --git a/docker/etc/s6-overlay/s6-rc.d/03-avahi/run b/docker/etc/s6-overlay/s6-rc.d/03-avahi/run new file mode 100644 index 00000000..20275d40 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/03-avahi/run @@ -0,0 +1,7 @@ +#!/command/with-contenv sh +while [ ! -f /var/run/dbus/dbus.pid ]; do + echo "s6-rc: warning: dbus is not running, sleeping for 1 seconds before trying to start avahi" + sleep 1 +done +echo "Starting avahi" +exec avahi-daemon --no-chroot diff --git a/docker/etc/s6-overlay/s6-rc.d/03-nqptp/type b/docker/etc/s6-overlay/s6-rc.d/03-avahi/type similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/03-nqptp/type rename to docker/etc/s6-overlay/s6-rc.d/03-avahi/type diff --git a/docker/etc/s6-overlay/s6-rc.d/04-nqptp/dependencies b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/dependencies new file mode 100644 index 00000000..97763270 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/dependencies @@ -0,0 +1 @@ +03-avahi diff --git a/docker/etc/s6-overlay/s6-rc.d/04-nqptp/finish b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/finish new file mode 100644 index 00000000..e4a13866 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/finish @@ -0,0 +1,2 @@ +#!/command/execlineb -S0 +/run/s6/basedir/bin/halt diff --git a/docker/etc/s6-overlay/s6-rc.d/03-nqptp/run b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/run similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/03-nqptp/run rename to docker/etc/s6-overlay/s6-rc.d/04-nqptp/run diff --git a/docker/etc/s6-overlay/s6-rc.d/04-nqptp/type b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/04-nqptp/type @@ -0,0 +1 @@ +longrun diff --git a/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/dependencies b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/dependencies new file mode 100644 index 00000000..a8d402ef --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/dependencies @@ -0,0 +1 @@ +04-nqptp diff --git a/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/finish b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/finish new file mode 100644 index 00000000..e4a13866 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/finish @@ -0,0 +1,2 @@ +#!/command/execlineb -S0 +/run/s6/basedir/bin/halt diff --git a/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/run b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/run new file mode 100644 index 00000000..c533db5e --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/run @@ -0,0 +1,7 @@ +#!/command/with-contenv sh +while [ ! -f /var/run/avahi-daemon/pid ]; do + echo "s6-rc: warning: avahi is not running, sleeping for 1 seconds before trying to start shairport-sync" + sleep 1 +done +echo "Starting shairport-sync" +exec /usr/local/bin/shairport-sync diff --git a/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/type b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/type new file mode 100644 index 00000000..5883cff0 --- /dev/null +++ b/docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/type @@ -0,0 +1 @@ +longrun diff --git a/docker/etc/s6-overlay/s6-rc.d/startup/up b/docker/etc/s6-overlay/s6-rc.d/startup/up deleted file mode 100644 index 06df8350..00000000 --- a/docker/etc/s6-overlay/s6-rc.d/startup/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/startup/script.sh diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/02-avahi b/docker/etc/s6-overlay/s6-rc.d/user/contents.d/01-startup similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/user/contents.d/02-avahi rename to docker/etc/s6-overlay/s6-rc.d/user/contents.d/01-startup diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/03-nqptp b/docker/etc/s6-overlay/s6-rc.d/user/contents.d/02-dbus similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/user/contents.d/03-nqptp rename to docker/etc/s6-overlay/s6-rc.d/user/contents.d/02-dbus diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/startup b/docker/etc/s6-overlay/s6-rc.d/user/contents.d/03-avahi similarity index 100% rename from docker/etc/s6-overlay/s6-rc.d/user/contents.d/startup rename to docker/etc/s6-overlay/s6-rc.d/user/contents.d/03-avahi diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/04-nqptp b/docker/etc/s6-overlay/s6-rc.d/user/contents.d/04-nqptp new file mode 100644 index 00000000..e69de29b diff --git a/docker/etc/s6-overlay/s6-rc.d/user/contents.d/05-shairport-sync b/docker/etc/s6-overlay/s6-rc.d/user/contents.d/05-shairport-sync new file mode 100644 index 00000000..e69de29b