Running a Jamulus Server
Jamulus requires a central server to which each participant connects. You only need to run one. In theory, there are many Jamulus servers already available; these are what appear in the main Jamulus connect window. But for choral singing, we want our own private server, so that a drummer doesn't crash our chorus rehearsal. They probably wouldn't enjoy it any more than we would. :)
You can run a Jamulus server either on your local machine (though see the warning below) or on a server machine somewhere in the cloud.
By default, the Jamulus server allows 10 simultaneous clients. This number can be increased to 100 using a command-line parameter. Of course, just because you set the number to 100 doesn’t mean that the server will have the necessary processing power to handle 100 at a time. :) Experimentation will be required.
Running a Server at Home
NOTE: Although the Jamulus documentation says that you can run a server and a client at the same time on one machine, we have had trouble doing this on two different Macintosh computers, at least. The client and server appear to work initially, but when someone else connects remotely, their sound will cut out after a few seconds, leaving only brief bursts every so often, with mostly silence. This problem does not occur when running a server and no client. So we are shying away from running servers and clients on the same machine for the moment.
The official documentation for running a server at home is here. There are two parts:
You can then run a client on your local machine at the same time as the server. Either look for the server in the usual Jamulus room list, or connect directly to it by typing the IP address in the address box (typing localhost may not work, but typing 127.0.0.1 may). You will have a superfast connection to the server, but you need to make sure that others have adequate latency as well.
The instructions below are for Mac, but you can also run a server on Windows or Linux if desired. See the official documentation for details.
Running on MacOS
Jamulus is now distributed with a second application called JamulusServer, which puts Jamulus in server mode. You can also run Jamulus in server mode by invoking it from a Terminal window with certain special command flags. The official documentation is here. You can run the server with or without a GUI. If you run with the GUI interface, you see the server window, which shows the clients connected to your server. If you turn off the GUI, it runs silently, but still accepts connections normally.
Running a Server in the Cloud
As an alternative to running your server at home, you can configure a server on the cloud provider of your choice. This may be a little more work, and may cost money. But it has the advantage of being up all the time, even if you put your local machine to sleep, and is likely to have more stable network performance. We have been using a cloud server, and have been quite happy with the results.
There are a number of cloud providers; use whichever one you prefer. We use Google Cloud Platform, and it has worked well for us.
Running on Google Cloud Platform (GCP)
This is the way we run the server. We've created a quick-start video for running and configuring a Jamulus server on GCP, which should get you up and running in the cloud in 10 minutes:
Jamulus server on GCP quick start video
The main steps covered in the video are:
Instructions and commands you can copy and paste are included in the video and its description.