1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/galene_ynh.git synced 2024-09-03 18:36:31 +02:00
galene_ynh/README.md
Éric Gaspar 7abb0c425a
Testing (#82)
* 0.5.2
2022-04-21 08:30:14 +02:00

6.1 KiB

Galène for YunoHost

Integration level
Install Galène with YunoHost

Lire ce readme en français.

This package allows you to install Galène quickly and simply on a YunoHost server. If you don't have YunoHost, please consult the guide to learn how to install it.

Overview

Galène is a videoconference server (an “SFU”) that is easy to deploy and that requires moderate server resources. It was originally designed for lectures and conferences (where a single speaker streams audio and video to hundreds or thousands of users), but later evolved to be useful for student practicals (where users are divided into many small groups), and meetings (where a dozen users interact with each other).

Features

Client features:

  • multiparty audio and video
  • text chat
  • reasonably good support for mobile (Android and iPhone/iPad)
  • screen and window sharing, including sharing multiple windows simultaneously (not on mobile)
  • streaming video and audio from disk
  • activity detection

Server features

  • redistribution of arbitrary numbers of audio and video streams;
  • text chat;
  • recording to disk;
  • user statuses ("raise hand", etc.);
  • choice of audio and video codecs (full functionality for VP8, VP9, and H.264, preliminary support for AV1);
  • Simulcast;
  • Scalable Video Coding (SVC) for VP8 and VP9;
  • automatic restarting of failed flows (on ICE failure);
  • congestion control in the server → client direction (both loss-based and using REMB indications);
  • congestion control in the client → server direction (loss-based, partial REMB support);
  • dynamic tuning of buffer sizes depending on the clients' RTT;
  • built-in TURN server.

Shipped version: 0.5.2~ynh1

Demo: https://galene.org:8443/

Screenshots

Disclaimers / important information

Accessing groups

Galène meeting rooms are called "groups". Any group is accessible at https://domain.tld/group/GroupName, by typing its name in the home page search field, or by selecting it in the public list (if the group is configured as publicly visible, see below).

Creating and configuring groups

Groups are defined by JSON files located in the folder /home/yunohost.app/galene/groups. Each group is represented by a GroupName.json file. To create a new group, you need to create a GroupNameExample.json file and restart Galène service (you can also make subfolder groups, and the groups will be accessible with https://domain.tld/group/subfolder/GroupName/). Various configuration options are available (see https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file).

NB: Spaces are supported in group file names.

When Galène is removed, the data directory (/home/yunohost.app/galene/) is preserved. If you want to remove it along with Galène, use the --purge option: sudo yunohost app remove galene --purge.

Configuring your TURN server

Using Galène's internal TURN server

Galène comes with a built-in TURN server that should work out-of-the-box.

  • If your server is behind NAT, allow incoming traffic to TCP/UDP port 1194 (or whatever is configured with the -turn option in /etc/systemd/system/galene.service)

Using your own TURN server

  • Install coturn_ynh.
  • Add /opt/yunohost/galene/data/ice-servers.json with these lines and change turn.example.org and secret
    [
        {
            "urls": [
                "turn:turn.example.org:5349",
                "turn:turn.example.org:5349?transport=tcp"
            ],
            "username": "galene",
            "credential": "secret"
        }
    ]
  • set /etc/systemd/system/galene.service -turn option to -turn auto (or -turn "" to disable the built-in TURN server).

To check if the TURN server is up and running, type /relay-test in the chat box. If the TURN server is properly configured, you should see a message saying that the relay test has been successful.

You can also install Galène with an external TURN server with this branch: https://github.com/YunoHost-Apps/galene_ynh/tree/galene+turn

Server Statistics page

Statistics are available under /opt/yunohost/galene/stats.json, with a human-readable version at domain.ltd/stats.html. This is only available to the server administrator (the admin/password is set in the config.json file: /opt/yunohost/galene/data/config.json).

How do I record my lecture?

Make sure allow-recording is set in your group configuration. Log-in as an operator, then say /record before you start your lecture. Don't forget to say /unrecord at the end. You will find your recordings under https://server.example.com/recordings/groupname/. The video recordings are stored in /home/yunohost.app/galene/recordings folder.

Documentation and resources

Developer info

Please send your pull request to the testing branch.

To try the testing branch, please proceed like that.

sudo yunohost app install https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug
or
sudo yunohost app upgrade galene -u https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug

More info regarding app packaging: https://yunohost.org/packaging_apps