echo "load-module module-native-protocol-unix socket=$(pwd)/pulse.socket" | tee -a ~/.config/pulse/default.pa
```
:::info
See `man default.pa` for more details on how to persist a PulseAudio configuration.
:::
:::warning
Make sure that the PulseAudio connection socket is owned by the same user running inside the container. By default the user inside the container will be `1000:1000`, so you should be fine if your host user also has the uid `1000`.
:::
## 2. Configure the PulseAudio client
Next, you need to configure the PulseAudio client inside the `liquidsoap` container. Save the following configuration file to `pulse.client.conf`:
```ini title="pulse.client.conf"
default-server = unix:/tmp/pulse.socket
# Prevent a server running in the container
autospawn = no
daemon-binary = /bin/true
# Prevent the use of shared memory
enable-shm = false
```
Configure the `liquidsoap` service in your docker compose file using the following settings:
```yaml title="docker-compose.yml"
services:
liquidsoap:
volumes:
- ./pulse.socket:/tmp/pulse.socket # Mount the PulseAudio server socket
- ./pulse.client.conf:/etc/pulse/client.conf # Mount the PulseAudio client configuration
```
## 3. Configure LibreTime with the new PulseAudio output
Finally, you need to configure LibreTime to output to the PulseAudio client, add the following to your configuration file:
```yaml title="config.yml"
stream:
outputs:
system:
- enabled: true
kind: pulseaudio
```
You can now start/restart LibreTime, and check the logs for any errors.