Deployment Preparations
Requirements
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.
We recommend using /opt/aura
for the AURA installation.
sudo mkdir /opt/aura
sudo chown -R $(id -u):$(id -g) /opt/aura
git clone https://gitlab.servus.at/aura/aura.git /opt/aura
Next, move to that directory and create the aura
user and group:
make aura-user.add
This is user merely required for handing out correct permissions and ownership. It is not meant to login with.
Current user vs. aura user
All operations are meant to be done by the current user. This user is also added to the aura
group, hence acts on behalf of the aura
user.
Docker post-installation steps
Install Docker Engine to be managed as a non-root user.
Choose the previously created aura
user to be in charge of running your containers.
Also, you don’t need any fancy additions like Docker Desktop.
Ensure that Docker default context is enabled
Docker Desktop may change the current context. Switch back to the default Docker context with
docker context use default
.
Docker in production
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.
We recommend using the aura
user for running Docker Engine using systemd
.
Selecting the release
Ensure you have the latest codebase:
git pull
Then check for available releases:
git tag
1.0.0-alpha1
1.0.0-alpha2
1.0.0-alpha3
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 1.0.0-alpha1
.
git checkout tags/1.0.0-alpha1
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
The Audio Store is a folder which is utilized by Tank and Engine to exchange audio files.
Assuming both, Engine and Tank are hosted on different machines, audio folders must by shared using some network share.
In case you are hosting Engine and Tank 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
. There are following subdirectories
expected:
source
: Holding all audio files from the media asset repository. Written by Tank and read by Engine.fallback
: Populate this folder with audio files to be played randomly, in cases where nothing is scheduled.playlist
: Used for M3U audio playlists.recordings
: The recorder stores its recorded blocks here.import
: To import audio files into Tank via the filesystem, place them here.
Deployment
AURA can be deployed using Docker and Docker Compose, allowing custom-tailored orchestration.
In the next chapters you learn how to deploy the individual Docker Compose bundles:
AURA Web
AURA Playout
AURA Recorder