Page loadedSkip to main content

meeting

The meeting room at chat.m1ng.space. It runs the Galène WebRTC server unchanged and replaces its pages with a new front end, and the whole stack is declared in one repository.

  • Frontend
  • WebRTC
  • Infrastructure

The problem

Hosted meeting tools want accounts, apps and a subscription for a call among friends or club members. Galène is a small, solid WebRTC server, but its default pages are spare.

How it works

  • Galène is built from upstream in a multi-stage Dockerfile, and the custom pages are layered over its static files, so upgrades never touch the server code.
  • New landing, meeting room, statistics and password pages follow Apple’s Human Interface Guidelines, with runtime localisation and accessibility fixes on top of the stock interface.
  • Host nginx terminates TLS and proxies the WebSocket. Galène serves its own TURN, and media uses a fixed UDP port range that the firewall can name.
  • Rooms, the server configuration and the nginx site with its CSP live in the repository, so an update is git pull and one compose command.

Built with

  • Galène
  • WebRTC
  • JavaScript
  • Docker Compose
  • nginx