OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Galene

Lightweight videoconferencing server in a single Go binary, built for lectures and meetings

Open source alternative to

Visit GaleneGitHubDocumentation

Main features

  • Browser client for desktop and mobile
  • Screen and window sharing, and streaming a local video file
  • Text chat with private messages and slash commands, usable with screen readers
  • Background blur with the optional MediaPipe library
  • Moderation with roles from operator to observer, mute, kick and group locking
  • Invitation links with tokens
  • Server-side recording to disk, enabled per group
  • Subgroups created on demand
  • End-to-end encrypted peer-to-peer file transfer
  • Simulcast and SVC with VP8, VP9, AV1 and H.264
  • Built-in TURN server, WHIP ingest and an administrative HTTP API

What Galene does

Galene (Galène in French) is a videoconferencing server written in Go by Juliusz Chroboczek. Its aim is to be easy to deploy and cheap to run: the whole server is one binary with a browser client and a TURN server built in, and it keeps its configuration in JSON files rather than a database. It has been used for lectures and meetings at French universities and for conferences.

Meetings happen in groups, which are defined on the server. Participants join from a desktop or mobile browser, share their camera, a window or the whole screen, or stream a local video file. The chat supports private messages and slash commands, and the project points out that it works with screen readers. Background blur is available when the optional MediaPipe library is installed. Server-side recording to disk can be enabled for a group, and subgroups can be created automatically on demand. A separate tool, galene-stt, adds transcription and captions, and an experimental SIP bridge exists.

Performance

Galene’s site gives unusually concrete CPU figures. A typical lecture with 100 students uses roughly a quarter of a CPU core. In one-to-many sessions it estimates about 300 participants per core, and in meetings where everyone sends video about 20 participants per core. It supports simulcast and SVC with VP8, VP9, AV1 and H.264, which helps participants on weak connections. The server cross-compiles for ARM boards such as the Raspberry Pi.

Security and privacy

Each group has its own users, with plain or hashed passwords, and permissions such as op, present, message, observe, caption and admin. Invitation tokens let people join without an account, and cryptographic tokens let Galene rely on an external authentication system. Chat history is never written to disk and is erased after four hours by default. File transfer between users is peer-to-peer and end-to-end encrypted, but audio and video are not end-to-end encrypted: the server forwards them after WebRTC transport encryption.

Self-hosting Galene

You build Galene from source with the Go toolchain and run the binary as a systemd or runit service; there is no packaged installer or official Docker image. The server listens on TCP 8443, and the built-in TURN server uses TCP and UDP 1194, plus a configurable range of UDP ports for media. Galene is designed to face the Internet directly; behind a reverse proxy you have to set a proxy URL and forward WebSockets, and behind NAT you need an external STUN or TURN server. If no certificate is installed it generates a self-signed one. Groups and users are JSON files that you edit by hand or with the galenectl tool.

Hosted version

The project does not run a hosted service; it is meant to be self-hosted.

Limitations

Galene’s interface is plain, and it lacks features many people expect from Zoom-style tools, such as polls, a whiteboard and a breakout room interface. There are no native desktop or mobile apps, and installation means compiling and editing configuration files. Audio and video are not end-to-end encrypted. The team is small, and discussion takes place on a mailing list.

Who it suits

Galene suits universities, teachers and technically comfortable administrators who want a meeting and lecture server that runs on modest hardware, with fine-grained roles and accessible chat. Those who want mobile apps, polls and a whiteboard should look at Jitsi Meet or BigBlueButton.

Technical details

Built with

  • Go
  • JavaScript

GitHub topics

  • file-sharing
  • galene
  • sfu
  • video-conference
  • video-conferencing
  • videoconference
  • webapp
  • webrtc

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.