This is the official Docker image of the Home Assistant add-on HomePod Connect. You can also use it by itself on other systems. It works out of the box with zeroconf and can be discovered inside your local network.
This image adds librespot to the official OwnTone container. librespot appears on the network as a Spotify Connect speaker and writes the audio into a named pipe (/music/Spotify) that OwnTone plays, which lets you send Spotify to HomePods over AirPlay.
Both run as OpenRC services, the same supervisor the base image already uses for OwnTone, avahi and dbus.
Track title, artist, album and cover art are forwarded to OwnTone by librespot-metadata, a --onevent hook that writes Shairport Sync style metadata into /music/Spotify.metadata.
The changes can be viewed inside the Dockerfile.
Before OwnTone 29 this image was based on
linuxserver/daapdand used librespot-java. LinuxServer deprecated that image, and librespot-java has had no release since the Spotify API changes of 2025.
docker pull ghcr.io/alexanderbabel/owntone:VERSIONRun the image:
docker run --network=host -v $(pwd)/config:/config ghcr.io/alexanderbabel/owntone:VERSIONYou can access the OwnTone instance on the default port (3689).
Configuration lives in /config/owntone, seeded on first start and never overwritten afterwards:
owntone.conf- configuration for OwnTone. The fully commented reference config ships in the image at/usr/share/doc/owntone/examples/owntone.conf.librespot.conf- device name and extra flags for librespot.
Both files work out of the box as a Spotify Connect speaker. Restart the container after changing them.
docker build -t owntone .
docker run --rm -v "$PWD/test-metadata.sh:/t.sh:ro" --entrypoint sh owntone /t.sh