Docker wrapper for https://github.com/jishi/node-sonos-http-api
Refer to https://github.com/jishi/node-sonos-http-api for all the configuration detail
First create the local directories and the settings file:
mkdir clips
mkdir cache
mkdir presets
curl https://raw.githubusercontent.com/jishi/node-sonos-http-api/master/presets/example.json > presets/example.json
echo {} > settings.json
Then run the docker image:
docker run \
--net=host \
--name sonos \
--restart=always \
-d \
-v `pwd`/settings.json:/app/settings.json \
-v `pwd`/clips:/app/static/clips \
-v `pwd`/cache:/app/cache \
-v `pwd`/presets:/app/presets \
chrisns/docker-node-sonos-http-api
If you want to run in a swarm see an example setup here: https://github.com/pinked/clustered_sonos. The important thing is using the host networking interface so that it can discover your Sonos devices.
If you're looking this as part of a bigger home automation piece you might also want to look at my MQTT hack job.