Jamulus repo for CentOS 7/8 and Amazon Linux 2

This repo contains RPMs and SRPMs for Jamulus to run as a server on CentOS 7, CentOS 8 or Amazon Linux 2.

Those who are more familiar with RPM-based systems, or who just want to install a server image and then add Jamulus without having to compile, may find them convenient.

Install the release file

The first step in using them is to install the appropriate release file. As with all package installations this should be done either as root or by prefixing the command with sudo:

For Amazon Linux 2 (on EC2 or Lightsail)

yum install http://jamulus.softins.co.uk/repo/jamulus/amzn2/jamulus-release-2-1.amzn2.noarch.rpm

For CentOS 7 or RHEL 7

yum install http://jamulus.softins.co.uk/repo/jamulus/el7/jamulus-release-7-1.el7.noarch.rpm

For CentOS 8 or RHEL 8

yum install http://jamulus.softins.co.uk/repo/jamulus/el8/jamulus-release-8-1.el8.noarch.rpm

Install Jamulus server

yum install jamulus-server

This will also install any required dependencies such as QT5 packages.

Set up the server configuration

There is no need to edit the jamulus.service file directly; all the server configuration is specified in the file /etc/sysconfig/jamulus instead, which is read by the startup process.

Using your favoured text editor, edit /etc/sysconfig/jamulus (must be done as root or with sudo).

Uncomment and update the configuration items as follows:

If the server is to be private only, leave all CENTRALSERVER lines commented out.

If the server is to register publicly with a central server, uncomment one of the CENTRALSERVER lines to specify the desired genre/central server.

# Configuration options for the Jamulus server

# Uncomment only ONE of these to register the server as public.
# Leave commented out for a private server.

# Default server
#CENTRALSERVER=jamulus.fischvolk.de:22124

# All Genres
#CENTRALSERVER=jamulusallgenres.fischvolk.de:22224

# Genre Rock
#CENTRALSERVER=jamulusrock.fischvolk.de:22424

# Genre Jazz
#CENTRALSERVER=jamulusjazz.fischvolk.de:22324

# Genre Classical/Folk/Choir
#CENTRALSERVER=jamulusclassical.fischvolk.de:22524

If registering publicly, also uncomment SERVERINFO and specify:

# Set this server name, city and country code (see below).
# Only needed for a public server.
#SERVERINFO="ChangeThisServerName;MyCity;224"

If the server is to listen on a different port from the default, uncomment PORT and set the value:

# The port to listen on (default is 22124)
#PORT=22124

Customise the welcome message that will be displayed in the chat window. HTML tags may be used:

# The welcome message, which will be displayed in the chat window.
# HTML markup can be used.
WELCOME="<h2>Welcome to my Jamulus server</h2>This server is run by My Name (myemail@example.com)"

Specify the maximum number of participants who may connect. 10 is a good value for a small single-core server, such as a Linode Nanode or an Amazon t2.micro. A more powerful server can support more.

# The maximum number of clients allowed to connect at once
CHANNELS=10

If the log file should be stored somewhere other than the default, uncomment LOGFILE and specify the location:

# If not specified, logfile will default to this.
#LOGFILE=/var/log/jamulus/jamulus.log

If the server should record all sessions, uncomment RECORDING and specify the location to store the recordings. Note that this can full up disk space very quickly on a small server.

# Uncomment to enable recording and specify directory
#RECORDING=/var/spool/jamulus

If any other custom options are required, uncomment OPTS and specify them here. Note that the options --server --nogui --fastupdate are already specified in the jamulus.service file, and do not need to be specified here.

#OPTS=""

A list of country code numbers is included in this file for easy reference:

# List of valid country codes (from QT)
#
#   0: Not specified
#   1: Afghanistan
#   2: Albania
# ....

Enable and start the server

Again, these commands either need to be done as root, or prefixed with sudo:

systemctl enable jamulus
systemctl start jamulus

If the server is public and registered with a central server, there should be no need to do any configuration of the firewall on the server, or of the Amazon Security Group, as ports will be opened automatically by outbound traffic.

If the server is private and not registered, it will be necessary to make sure any firewall allows incoming requests to the UDP port number specified above with PORT (default 22124).