]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Do not start SPS as s6 service to avoid passing arguments via -e 1624/head
authorChristian König <ckoenig@posteo.de>
Tue, 7 Mar 2023 20:52:07 +0000 (21:52 +0100)
committerChristian König <ckoenig@posteo.de>
Tue, 7 Mar 2023 21:08:11 +0000 (22:08 +0100)
Signed-off-by: Christian König <ckoenig@posteo.de>
17 files changed:
docker/Dockerfile
docker/README.md
docker/classic/Dockerfile
docker/classic/etc/s6-overlay/s6-rc.d/03-avahi/run
docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/dependencies [deleted file]
docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/finish [deleted file]
docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/run [deleted file]
docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/type [deleted file]
docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/04-shairport-sync [deleted file]
docker/classic/run.sh [new file with mode: 0644]
docker/etc/s6-overlay/s6-rc.d/03-avahi/run
docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/dependencies [deleted file]
docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/finish [deleted file]
docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/run [deleted file]
docker/etc/s6-overlay/s6-rc.d/05-shairport-sync/type [deleted file]
docker/etc/s6-overlay/s6-rc.d/user/contents.d/05-shairport-sync [deleted file]
docker/run.sh [new file with mode: 0644]

index 47e9de46ec7a0a9016dcb80b86ca4c60bc0077ae..dd21bb8be0019c6984beeb5ea78b8625330af9ed 100644 (file)
@@ -113,3 +113,9 @@ RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio && addgr
 
 # Remove anything we don't need.
 RUN rm -rf /lib/apk/db/*
+
+# Add run script that will start SPS
+COPY ./docker/run.sh ./run.sh
+RUN chmod +x /run.sh
+
+Entrypoint ["/init","./run.sh"]
index 9953cefc821f1d8fd8848993e20dcb52eef582a5..560dc89be5bc1321ada2e43de03f9efc930c35d5 100644 (file)
@@ -31,12 +31,12 @@ $ docker run -d --restart unless-stopped --net host --device /dev/snd \
 
 ### Options
 
-To pass command line options to Shairport Sync they need to be set with `-e ARG=`. Here is an example:
+Command line options will be passed to Shairport Sync. Here is an example:
 
 ```
 $ docker run -d --restart unless-stopped --net host --device /dev/snd \
-    -e ARG="-v --statistics -a DenSystem -d hw:0 -c PCM" \
-    mikebrady/shairport-sync:latest
+    mikebrady/shairport-sync:latest \
+    -v --statistics -a DenSystem -d hw:0 -c PCM
 ```
 This will send audio to alsa hardware device `hw:0` and make use of the that device's mixer control called `PCM`. The service will be visible as `DenSystem` on the network.
 
index 962ef28cb849c74208cfcafaa826e8a2d2e8c2cf..3d072a557ade4161abefe2f41c00203d240d5d77 100644 (file)
@@ -91,3 +91,9 @@ RUN addgroup -g 29 docker_audio && addgroup shairport-sync docker_audio && addgr
 
 # Remove anything we don't need.
 RUN rm -rf /lib/apk/db/*
+
+# Add run script that will start SPS
+COPY ./docker/run.sh ./run.sh
+RUN chmod +x /run.sh
+
+Entrypoint ["/init","./run.sh"]
index 20275d407aa01cbce6e1fa975df3144a822516fb..e3ea2ff971c398248a216cc26a7787c8e08fb78f 100644 (file)
@@ -1,6 +1,6 @@
 #!/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"
+  echo "s6-rc: warning: dbus is not running, sleeping for 1 second before trying to start avahi"
   sleep 1
 done
 echo "Starting avahi"
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
deleted file mode 100644 (file)
index 9776327..0000000
+++ /dev/null
@@ -1 +0,0 @@
-03-avahi
diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/finish b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/finish
deleted file mode 100644 (file)
index e4a1386..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/command/execlineb -S0
-/run/s6/basedir/bin/halt
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
deleted file mode 100644 (file)
index 5642097..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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 $ARG
diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/type b/docker/classic/etc/s6-overlay/s6-rc.d/04-shairport-sync/type
deleted file mode 100644 (file)
index 5883cff..0000000
+++ /dev/null
@@ -1 +0,0 @@
-longrun
diff --git a/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/04-shairport-sync b/docker/classic/etc/s6-overlay/s6-rc.d/user/contents.d/04-shairport-sync
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/docker/classic/run.sh b/docker/classic/run.sh
new file mode 100644 (file)
index 0000000..f901817
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+while [ ! -f /var/run/avahi-daemon/pid ]; do
+  echo "Warning: avahi is not running, sleeping for 1 second before trying to start shairport-sync"
+  sleep 1
+done
+echo "Starting shairport-sync"
+# pass all commandline options to shairport-sync
+/usr/local/bin/shairport-sync "$@"
index 20275d407aa01cbce6e1fa975df3144a822516fb..e3ea2ff971c398248a216cc26a7787c8e08fb78f 100644 (file)
@@ -1,6 +1,6 @@
 #!/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"
+  echo "s6-rc: warning: dbus is not running, sleeping for 1 second before trying to start avahi"
   sleep 1
 done
 echo "Starting avahi"
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
deleted file mode 100644 (file)
index a8d402e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644 (file)
index e4a1386..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/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
deleted file mode 100644 (file)
index 5642097..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/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 $ARG
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
deleted file mode 100644 (file)
index 5883cff..0000000
+++ /dev/null
@@ -1 +0,0 @@
-longrun
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
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/docker/run.sh b/docker/run.sh
new file mode 100644 (file)
index 0000000..f901817
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+while [ ! -f /var/run/avahi-daemon/pid ]; do
+  echo "Warning: avahi is not running, sleeping for 1 second before trying to start shairport-sync"
+  sleep 1
+done
+echo "Starting shairport-sync"
+# pass all commandline options to shairport-sync
+/usr/local/bin/shairport-sync "$@"