Sign inSign up

silasmariusz/tunethathue

By silasmariusz

•Updated about 14 hours ago

Music-reactive lighting for Philips Hue and WLED. Needs --network host.

Image
Internet of things
0

1.9K

silasmariusz/tunethathue repository overview

⁠TuneThatHue

DJ-style visual effects for Philips Hue, driven by whatever is playing. Beat, bars, build-ups, drops and strobe — the effects engine is carried byte-for-byte from Music Assistant⁠'s Hue provider, so a setup tuned there behaves identically here.

⁠Run it

docker run -d --name tunethathue --network host \
  -v tunethathue:/config \
  silasmariusz/tunethathue:latest

Then open http://:8080, pair the bridge, pick a room, press Sync.

⁠--network host is required — bridge mode will not work

This is not a preference, and it is the one thing that catches people out.

Every way this container is found uses multicast or broadcast:

InputHow it is discovered
Sendspin (Music Assistant)mDNS
DLNA / UPnP rendererSSDP multicast on 239.255.255.250
Squeezebox / slimprotoUDP broadcast on port 3483
Snapcast(outbound — this one works anywhere)

Docker's default bridge network does not forward multicast or broadcast between the container and your LAN. On bridge, the container starts, the panel opens, and then nothing ever finds it: Music Assistant will not list it, no DLNA controller will see it, and no Squeezebox server will answer. Publishing ports does not fix this — there is nothing to publish, because the discovery never reaches the container in the first place.

If you want the container isolated with its own IP, use a macvlan network instead. That gives it a real address on your LAN, so multicast works:

docker network create -d macvlan \
  --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 lan

docker run -d --name tunethathue --network lan --ip 192.168.1.50 \
  -v tunethathue:/config silasmariusz/tunethathue:latest

⁠What it listens on

PortFor
8080/tcpthe browser panel
6980/udpVBAN — the Winamp, foobar2000, AIMP and sound-capture senders
8928/tcpSendspin
1900/udpSSDP, for the DLNA renderer
3483/udp + 3483/tcpSqueezebox discovery and control

Outbound it talks to the Hue bridge (DTLS, 2100/udp) and, optionally, to a WLED strip (21324/udp).

⁠Settings

Everything lives in /config, so upgrading is a new image and nothing else. The paired bridge credentials are in there too — keep the volume and you keep the pairing.

⁠Architectures

linux/amd64 and linux/arm64. Not 32-bit ARM: NumPy publishes no build for it on Python 3.14, and the beat tracker needs NumPy. A 32-bit Raspberry Pi should use the 64-bit OS image, or install natively from the releases page⁠.

⁠Source, installers and documentation

https://github.com/silasmariusz/TuneThatHue⁠

Also packaged for QNAP NAS (.qpkg), Windows (service + tray), Linux (systemd) and macOS (launchd).

Not affiliated with, endorsed by, or sponsored by Signify / Philips Hue.

Tag summary

Content type

Image

Digest

sha256:184573b1d…

Size

242.5 MB

Last updated

about 14 hours ago

docker pull silasmariusz/tunethathue