Skip to content

Installation

Agora is installed from packages in the Flussonic repository. There are two of them, and choosing between them is choosing the machine's role.

  • agora — the whole box: the control plane, the panel and a streamer on one machine. It is installed first, and on a small installation it is the only one.
  • agora-base — a cluster server: the streamer alone, with no panel and no database. It is installed on every machine added to the control plane.

The agora package pulls agora-base in: the box is that same server plus what makes it a control plane.

How to get from a clean machine to a playing broadcast in one go is on the Quick start page. What follows is what a real installation needs.

What installing the box does

While installing, the agora package:

  • asks for the licence key and puts it in /etc/agora/license.txt;
  • creates the agora role and database;
  • generates the database password and the administrator password and writes them to /etc/agora/secrets.env (mode 0600, owner root);
  • starts agora.service, which applies the database schema on its first run.

The passwords are not printed to the terminal — they are read from the file. An upgrade or a reinstall reuses the secrets already written.

What to do with those passwords next is on Administrators: the static credentials stay as the break-glass entrance, and the work is done under named accounts.

What installing a node does

The agora-base package asks what this machine is going to be:

  1. A database address — if the machine raises a control plane of its own over an existing database.
  2. Join a cluster — if not: the installation then asks for the control plane's address and a join token.

The token is taken in the panel, in Cluster → Streamers, with the Allow joining button; the window lasts an hour (see Streamers). After the installation the node comes to the control plane itself and appears in the list.

A machine that is already configured is not asked again: the address and the token are written once, and a package upgrade does not repeat the question.

Where things are kept

  • /etc/agora/ — the box's settings: the licence file and secrets.env.
  • /var/lib/agora/ — the working state.
  • agora.service — the systemd unit; the service is stopped and started with it.

There are deliberately no files holding the cluster's configuration here: the configuration — broadcasts, templates, zones, rights — lives in the control plane's database and is edited in the panel. A machine keeps only what makes it that machine.

Upgrading

An upgrade is ordinary apt:

apt update && apt install --only-upgrade agora

In a cluster the control plane is upgraded first, the nodes after it. The control plane tolerates nodes older than itself; the other way round is not guaranteed.

An upgrade does not re-ask for the licence and does not touch the secrets. The database schema is brought into line when the new version first starts.

What the network has to allow

  • Viewers need access to the streamers, not to the control plane: the control plane decides where to send them, but the broadcast comes from a server.
  • Nodes need access to the control plane: without it a node keeps working but receives no new assignments.
  • The installation needs outbound access to activate the licence.