Available at: https://hub.docker.com/r/mikebrady/shairport-sync
-Please note if you want the development version of the image including Airplay 2 support, please pull the image with the `development` tag using the following command:
-```
-docker pull mikebrady/shairport-sync:development
-```
+Versions with tags including `-classic` provide classic AirPlay, the same as Shairport Sync versions up to 3.3.9.
-When using the below commands, you should replace `mikebrady/shairport-sync` with `mikbrady/shairport-sync:development`.
+(**Note:** At this time, `stable` tags may not be available.)
## Example Docker Compose File
See the `docker-compose.yaml` file in this folder for an example.
## Docker Run
+To run the latest stable release of Shairport Sync, which provides AirPlay 2 service:
+
+```
+$ docker run -d --restart unless-stopped --net host --device /dev/snd \
+ mikebrady/shairport-sync:stable
+```
+To run the classic version:
+
```
$ docker run -d --restart unless-stopped --net host --device /dev/snd \
- mikebrady/shairport-sync
+ mikebrady/shairport-sync:stable-classic
```
### Options
Command line options will be passed to Shairport Sync. Here is an example:
```
$ docker run -d --restart unless-stopped --net host --device /dev/snd \
- mikebrady/shairport-sync:development \
+ mikebrady/shairport-sync:stable \
-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.
### Build Example (for arm7 devices)
```
-docker buildx build --platform linux/arm/v7 -f ./docker/Dockerfile --build-arg SHAIRPORT_SYNC_BRANCH=development --build-arg NQPTP_BRANCH=development --no-cache -t shairport-sync:unstable-development .
+docker buildx build --platform linux/arm/v7 -f ./docker/Dockerfile --build-arg SHAIRPORT_SYNC_BRANCH=development --build-arg NQPTP_BRANCH=development --no-cache -t shairport-sync:development .
```
`SHAIRPORT_SYNC_BRANCH` and `NQPTP_BRANCH` are required to ensure the image is built using the expected branch.
-# Classic (AirPlay 1 Only) Docker Image
+# Classic (aka AirPlay 1 Only) Docker Image
See the [Shairport Sync Docker Hub Repo](https://hub.docker.com/r/mikebrady/shairport-sync) for available tags.
#!/command/execlineb -S0
-/run/s6/basedir/bin/halt
\ No newline at end of file
+/run/s6/basedir/bin/halt
#!/command/with-contenv sh
rm -rf /var/run/dbus.pid
echo "Starting dbus"
-exec dbus-daemon --system --nofork
\ No newline at end of file
+exec dbus-daemon --system --nofork
-longrun
\ No newline at end of file
+longrun
#!/command/execlineb -S0
-/run/s6/basedir/bin/halt
\ No newline at end of file
+/run/s6/basedir/bin/halt
sleep 5
done
echo "Starting avahi"
-exec avahi-daemon --no-chroot
\ No newline at end of file
+exec avahi-daemon --no-chroot
-longrun
\ No newline at end of file
+longrun
#!/bin/sh
-echo "STARTING - $(date)"
\ No newline at end of file
+echo "STARTING - $(date)"
-oneshot
\ No newline at end of file
+oneshot
-/etc/s6-overlay/s6-rc.d/startup/script.sh
\ No newline at end of file
+/etc/s6-overlay/s6-rc.d/startup/script.sh
avahi-daemon --daemonize --no-chroot
-su-exec shairport-sync shairport-sync "$@"
\ No newline at end of file
+su-exec shairport-sync shairport-sync "$@"
services:
shairport-sync:
- image: mikebrady/shairport-sync:development
+ image: mikebrady/shairport-sync:stable
network_mode: host
restart: unless-stopped
devices:
logging:
options:
max-size: "200k"
- max-file: "10"
\ No newline at end of file
+ max-file: "10"
#!/command/execlineb -S0
-/run/s6/basedir/bin/halt
\ No newline at end of file
+/run/s6/basedir/bin/halt
#!/command/with-contenv sh
rm -rf /var/run/dbus.pid
echo "Starting dbus"
-exec dbus-daemon --system --nofork
\ No newline at end of file
+exec dbus-daemon --system --nofork
-longrun
\ No newline at end of file
+longrun
#!/command/execlineb -S0
-/run/s6/basedir/bin/halt
\ No newline at end of file
+/run/s6/basedir/bin/halt
sleep 5
done
echo "Starting avahi"
-exec avahi-daemon --no-chroot
\ No newline at end of file
+exec avahi-daemon --no-chroot
-longrun
\ No newline at end of file
+longrun
#!/command/execlineb -S0
-/run/s6/basedir/bin/halt
\ No newline at end of file
+/run/s6/basedir/bin/halt
#!/command/with-contenv sh
echo "Starting nqptp"
-exec /usr/local/bin/nqptp
\ No newline at end of file
+exec /usr/local/bin/nqptp
-longrun
\ No newline at end of file
+longrun
#!/bin/sh
-echo "STARTING - $(date)"
\ No newline at end of file
+echo "STARTING - $(date)"
-oneshot
\ No newline at end of file
+oneshot
-/etc/s6-overlay/s6-rc.d/startup/script.sh
\ No newline at end of file
+/etc/s6-overlay/s6-rc.d/startup/script.sh