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 settings
mkdir cache
mkdir presets
curl https://raw.githubusercontent.com/jishi/node-sonos-http-api/master/presets/example.json > presets/example.json
echo {} > settings/settings.json
Then run the docker image:
docker run \
--net=host \
--name sonos \
--restart=always \
-d \
-v `pwd`/settings:/app/settings \
-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.
The Dockerfiles in the arm32v7-nativebuild
and arm32v7-crossbuild
directories can be used to build arm32v7 images suitable for later Raspberry Pi devices. The nativebuild version is for docker builds on ARM devices while the crossbuild version is for docker builds on x86 hosts (e.g., including automated builds on Docker Hub).