Preparations before deploying
Prerequisites
Choose a domain name
First decide where you want AURA to be served to your users. Given your radio website is available
under myradio.org, we recommend binding AURA to the subdomain like aura.myradio.org.
Update your DNS settings with your desired domain name and point it to the server instance you want to deploy AURA at.
In all of the following examples, we will refer to the aura.myradio.org example. Replace it
with your personal AURA subdomain, where applicable.
Setting up the user & home directory
It’s time to log in to your fresh AURA server instance and get things moving.
Clone the aura repository to your desired AURA home directory.
For all of the following documentation steps, we assume you have chosen /opt/aura for your
installation. This directory is also referenced as AURA_HOME. It is possible to use any directory
of your choice for AURA_HOME though.
sudo mkdir /opt/aura
sudo chown -R $(id -u):$(id -g) /opt/aura
git clone https://gitlab.servus.at/aura/aura.git /opt/aura
This gives the current user ownership to /opt/aura and copies all the needed files into it.
Next, move to that directory and create the aura user and group:
$ make aura-user.add
This is user merely required for handling correct permissions and ownership. It is not required to login with that user.
Tip
All operations are can be done by the currently logged in admin user. This user is also added to
the aura group, hence acts on behalf of the aura user.
Docker installation tips
Optionally manage containers without sudo
If you are the sole administrator, it is handy to start, stop and restart containers without the
need of using sudo. To achieve this, install Docker Engine to be
managed as a non-root user.
Please note that this is not practical if you have multiple people administering the system, as
containers are only visible to the user who starts them. You can circumvent this issue by either
continuing to start containers with sudo or by creating a dedicated admin account shared among
administrators.
Skip Docker Desktop installation
You don’t need any fancy additions like Docker Desktop. Installing Docker Desktop can have side-effects like the change of the default context.
Ensure that Docker default context is enabled
If you have installed Docker Desktop for some reason, it may change the current context. Switch
back to the default Docker context with docker context use default.
Start Docker on system boot
When configuring the Docker Engine for production, you may want to start all your containers automatically on system boot.
This can be achieved by running Docker Engine as a daemon.
Selecting the release
Ensure you have the latest codebase:
git pull
Then check for available releases:
git tag
v1.0.0
v1.1.0
This command returns a list of all tags corresponding to the available releases. Alternatively you can take a look at releases.aura.radio.
To learn about changes between releases, consult the Release Notes.
Then switch to the release you’d like to use.
git checkout tags/<release-version>
Replace <release_version> with one of the versions listed above, like v1.0.0.
git checkout tags/v1.0.0
Latest, unreleased state on the main branch
In case you want deploy the current development state, just take the latest commit on the main
branch. That’s the state which is checked out by default. While we try to keep the main branch
as stable as possible, we cannot guarantee it being functional at all times. So please use it at
your own risk.
Setting up the Audio Store Directory
The Audio Store Directory is a folder structure used by various services to exchange audio files.
For example the Battery service stores media uploaded by users in the Audio Store, while the Engine service reads audio files from the Audio Store for broadcasting.
Assuming both, Engine and Battery are hosted on different machines, audio folders must be shared using some network share.
In case you are hosting Engine and Battery on the same machine, you can skip this step. Just think about pointing the settings the relevant audio directories, or create a symlink to do so behind the curtains.
By default the Audio Store is located in /opt/aura/audio on your host machine. In the Audio Store,
the following subdirectories are expected:
Directory |
Read/write access |
Ready-only access |
Description |
|---|---|---|---|
|
AURA Web |
AURA Playout |
The audio processing service (Media Store) stores uploaded and imported files here. |
L |
Holds symlinks to access files by date. |
||
L |
Holds symlinks to access files by hash. |
||
L |
Holds symlinks to access files by show IDs. |
||
L |
Media Store working directory for temporary files. |
||
|
AURA Web, AURA Recorder |
AURA Playout |
Audio recordings. |
L |
The recorder service stores block recordings here. |
||
L |
The audio cropping service (Cut & Glue) stores episode recordings, created from block recordings, here. |
||
|
- |
AURA Web, AURA Playout |
Directory for music pools. |
L |
Populate this default pool with audio files to be played randomly, when nothing is scheduled. |
||
|
- |
AURA Web, AURA Playout |
Place M3U audio playlists here. |
Docker and service configuration
In the following chapters you will be dealing with .env configuration files created in the
Docker Compose directories config/aura-web, config/aura-playout and config/aura-recorder.
In most common setup scenarios all configuration done with these environment variables is
sufficient.
For some services, advanced setups or debug purposes, there are also sample configuration files for
each service under /opt/aura/config/services/sample-config available. To overwrite any service
configuration, simply copy its configuration file to the parent services folder.
Only use these overrides if you are an advanced user, or are advised to do so.