Installation manual

Before proceeding, make sure to follow the preparation steps.

AURA Engine

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