From fff67f2baaef78c997b35667657a297e5435355f Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Wed, 1 Jul 2026 07:14:20 -0700 Subject: [PATCH] audio-bridge: custom pipewire-pulse.conf with TCP 4713 listener Alpine's pipewire-pulse binary is stripped (-a option removed); the only way to configure listening address is via config file. Add /etc/pipewire/pipewire-pulse.conf that overrides server.address to include tcp:4713 alongside the default unix:native socket. Server addresses now: - unix:native (for in-container clients) - tcp:4713 (for sibling containers connecting via PULSE_SERVER env var) --- infra/audio-bridge/Dockerfile | 1 + infra/audio-bridge/entrypoint.sh | 8 ++++---- infra/audio-bridge/pipewire-pulse.conf | 12 ++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 infra/audio-bridge/pipewire-pulse.conf diff --git a/infra/audio-bridge/Dockerfile b/infra/audio-bridge/Dockerfile index 0ceeef8..096bcff 100644 --- a/infra/audio-bridge/Dockerfile +++ b/infra/audio-bridge/Dockerfile @@ -19,6 +19,7 @@ RUN apk add --no-cache \ COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh +COPY pipewire-pulse.conf /etc/pipewire/pipewire-pulse.conf # D-Bus socket dir for bluetoothd / wireplumber / pipewire VOLUME ["/run/dbus", "/run/user/0"] diff --git a/infra/audio-bridge/entrypoint.sh b/infra/audio-bridge/entrypoint.sh index e1fc1da..9246f73 100644 --- a/infra/audio-bridge/entrypoint.sh +++ b/infra/audio-bridge/entrypoint.sh @@ -38,8 +38,8 @@ sleep 1 # PipeWire (audio server). Listens on its own native socket. pipewire & -# PipeWire-Pulse daemon: PA-compatible bridge. Listen on TCP 4713 so PA clients -# (librespot, mopidy) can connect from sibling containers without unix socket -# path coupling. +# PipeWire-Pulse daemon: PA-compatible bridge. Custom config in +# /etc/pipewire/pipewire-pulse.conf sets server.address = [unix:native, tcp:4713] +# so PA clients (librespot, mopidy) connect via tcp:127.0.0.1:4713. sleep 1 -exec pipewire-pulse -a tcp:4713 -a unix:/tmp/pulse-socket +exec pipewire-pulse diff --git a/infra/audio-bridge/pipewire-pulse.conf b/infra/audio-bridge/pipewire-pulse.conf new file mode 100644 index 0000000..4e89292 --- /dev/null +++ b/infra/audio-bridge/pipewire-pulse.conf @@ -0,0 +1,12 @@ +# Custom PipeWire-Pulse config: override server.address to add TCP 4713 listener. +# This file is loaded from /etc/pipewire/pipewire-pulse.conf and overrides +# defaults from /usr/share/pipewire/pipewire-pulse.conf. +# +# PA clients (librespot, mopidy) connect via tcp:127.0.0.1:4713. + +pulse.properties = { + server.address = [ + "unix:native" + "tcp:4713" + ] +}