6. Starting the server
You can now start the server:
If you need video calls that actually stay private and don’t depend on big platforms, Galene is worth a look. It’s a small, open-source video conferencing server that doesn’t demand much from the system. You can run it on a cheap VPS without problems, and it keeps working even when the internet connection is far from perfect. This guide goes through the whole process step by step and shows how to set up Galene from scratch and get it running on your own server.
Galene is an open-source piece of software developed at the University of Paris. It was designed as a minimalist alternative to Jitsi Meet. Written in Go, it is extremely lightweight, runs comfortably even on a Raspberry Pi, and is essentially distributed as a single binary file.
This makes Galene a solid choice if you need your own independent calling server — one that doesn’t collect user data and remains stable even on weak or unstable network connections.
To get started, we’ll install the basic tools required to build the project:
sudo apt update && sudo apt install git golang -y
Since the developers usually don’t provide prebuilt binaries, we’ll compile the latest version ourselves:
mkdir ~/src && cd ~/src git clone https://github.com/jech/galene.git cd galene CGO_ENABLED=0 go build -ldflags='-s -w'
After compilation, you’ll end up with a galene binary of roughly 10 MB.
Next, we’ll move the program into a dedicated directory and create the required folder structure:
mkdir -p ~/apps/galene cp galene ~/apps/galene/ cd ~/apps/galene/ mkdir groups data cp -a ~/src/galene/static .
groups — where room configuration files are stored.
data — a location for SSL certificates.
static — the web interface.
Let’s create a configuration for a group (room) named office.
nano groups/office.json
Paste the following code, replacing admin and password with your own credentials:
{
"users":
{
"admin":
{
"password": "ваш-складний-пароль",
"permissions": "op"
}
}
}
For browser-based video calls (WebRTC) to work properly, HTTPS is mandatory. We’ll use the standard Certbot tool for this. Important: at this stage, you must already have a domain (or subdomain) registered and pointed to your server’s IP address.
sudo apt install -y certbot sudo certbot certonly --standalone -d ваш-домен.com.ua
After the certificates are successfully issued, copy the keys into the application directory:
cd ~/apps/galene/data sudo cp /etc/letsencrypt/live/ваш-домен.com.ua/fullchain.pem cert.pem sudo cp /etc/letsencrypt/live/ваш-домен.com.ua/privkey.pem key.pem sudo chown $USER:$USER *.pem
cd ~/apps/galene ./galene
By default, Galene runs on port 8443. Your login URL will look like this: https://your-domain.com:8443/group/office/
Log in to the web interface using your username and password. Click the camera icon next to your name in the roster and select “Invite User.” Galene will generate a unique, token-based link that you can send to your colleagues. They don’t need to register — they just click the link and allow access to their camera and microphone.
If UFW is enabled on your server, you’ll need to open the required ports for media traffic:
sudo ufw allow 8443/tcp sudo ufw allow 1194/tcp sudo ufw allow 1194/udp sudo ufw allow 40000:40500/udp
And start the application while specifying the UDP port range:
./galene -udp-range 40000-40500