Installation manual
Before proceeding, make sure to follow the preparation steps.
Deployment bundle services
The Docker Compose bundle is holding the following set of services.
Service |
Required |
Description |
|---|---|---|
engine-recorder |
✅ |
Record audio blocks, including archive sync |
The required services are needed for minimal functionality.
Optional: Setup PipeWire as a system wide daemon
Per default Engine-Recorder is using pure ALSA, but if wanted can be configured to use PipeWire instead. While it is possible to run PipeWire completely inside containers, we recommend a slightly different approach. Instead, create a service to run pipewire and wireplumber in a headless session directly on your host. This provides better performance and still allows you to use your audio devices on the host machine. If you have already done this step for the AURA Playout setup you can skip ahead to the next point.
make aura-playout.pw.install
This creates the necessary system services, loads the default pipewire configuration to /etc/pipewire/pipewire.conf and creates the socket which pipewire later uses to communicate with aura-playout. After everything is installed you need to reboot your machine for the changes to take effect.
sudo reboot
Deploy AURA Recorder
All required files can be found under config/aura-recorder. For the described commands change to that directory.
Copy the sample.env to .env and set all values as needed.
cp sample.env .env
Copy the sample.asound.conf to asound.conf and set the hardware device you want to record from. You can get a list of devices using aplay -l
cp sample.asound.conf asound.conf
Update the configuration file
Update at least following environment variables in the .env file:
AURA_RECORDER_AUDIO_SOURCE: The audio device from which the audio will be recorded. It is also possible to set a stream.AURA_AUDIO_STORE: The location where the recorder saves all recordings.
If you want to utilize PipeWire uncomment the following line:
COMPOSE_FILE=docker-compose.yml:docker-compose.pipewire.yml
Make sure that the user aura can write to AURA_AUDIO_STORE.
source .env
mkdir -p "${AURA_AUDIO_STORE}/record/block"
chown -R aura:aura "${AURA_AUDIO_STORE}"
Start the services with Docker Compose:
docker compose up -d
After successful start-up, you should see the AURA_AUDIO_STORE get populated.
Archive recordings
In order to archive or backup recorded audio blocks you can set up a rsync cronjob like:
crontab -e
0 2 * * * rsync -avz /opt/aura/audio/recordings/ user@remote-server:/archive/block-recordings