From 2c4aa90a4574ccac143150eeb7e1854f73393dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Mon, 24 May 2021 23:54:52 +0200 Subject: [PATCH] Testing (#53) * Add new line in passwd file for user:password parsing Co-authored-by: tituspijean --- README.md | 70 ++++++++---------- README_fr.md | 68 +++++++---------- check_process | 6 -- conf/passwd | 3 +- doc/DISCLAIMER.md | 31 ++++++++ doc/DISCLAIMER_fr.md | 33 +++++++++ .../screenshots/screenshot.png | Bin manifest.json | 11 ++- scripts/install | 1 - scripts/remove | 10 +++ scripts/upgrade | 1 - 11 files changed, 143 insertions(+), 91 deletions(-) create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md rename screenshot.png => doc/screenshots/screenshot.png (100%) diff --git a/README.md b/README.md index 4b23e15..ce19418 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,40 @@ -# Galène for YunoHost -[![Integration level](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene) ![](https://ci-apps.yunohost.org/ci/badges/galene.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/galene.maintain.svg) -[![Install Galène with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) + +--- + + + +# Galene for YunoHost + +[![Integration level](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene) ![](https://ci-apps.yunohost.org/ci/badges/galene.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/galene.maintain.svg) +[![Install galene with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Galène quickly and simply on a YunoHost server. +> *This package allows you to install galene quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Galène is a videoconferencing server that is easy to deploy (just copy a few files and run the binary) 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 few dozen users interact with each other). -**Shipped version:** 0.3.5 +Videoconferencing server that is easy to deploy + +**Shipped version:** 0.3.5~ynh2 + +**Demo:** https://galene.org:8443/ + ## Screenshots -![](screenshot.png) -## Demo + ![](./doc/screenshots/screenshot.png) -* [Official demo](https://galene.org:8443/) -## Configuration + + +## Disclaimers / important information ### How to creat groups @@ -55,39 +68,16 @@ If you have a dynamic IP address, you also might need to update this config auto To check if Galène can connect to the TURN server, connect to Galène as operator and 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. -## Documentation - * Official documentation: https://galene.org/ - * YunoHost documentation: https://yunohost.org/en/app_galene -## YunoHost specific features +## Documentation and resources -#### Multi-user support +* Official app website: https://galene.org - * Are LDAP and HTTP auth supported? **No** - * Can the app be used by multiple users? **Yes** - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/galene.svg)](https://ci-apps.yunohost.org/ci/apps/galene/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/galene.svg)](https://ci-apps-arm.yunohost.org/ci/apps/galene/) - -## Limitations - -* Any known limitations. - -## Additional information - -* Other info you would like to add about this app. - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/galene_ynh/issues - * App website: https://galene.org/ - * Upstream app repository: https://github.com/jech/galene - * YunoHost website: https://yunohost.org/ - ---- +* Official admin documentation: https://galene.org/ +* Upstream app code repository: https://github.com/jech/galene +* YunoHost documentation for this app: https://yunohost.org/app_galene +* Report a bug: https://github.com/YunoHost-Apps/galene_ynh/issues ## Developer info @@ -99,3 +89,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/galene_ynh/tree/testi 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 \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 0c3341c..a7b6fd4 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,25 +1,32 @@ -# Galène pour YunoHost +# Galene pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene) ![](https://ci-apps.yunohost.org/ci/badges/galene.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/galene.maintain.svg) -[![Installer Galène avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) +[![Niveau d'intégration](https://dash.yunohost.org/integration/galene.svg)](https://dash.yunohost.org/appci/app/galene) ![](https://ci-apps.yunohost.org/ci/badges/galene.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/galene.maintain.svg) +[![Installer galene avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=galene) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Galène rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *This package allows you to install galene quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Vue d'ensemble -Galène est un serveur de visioconférence facile à déployer (il suffit de copier quelques fichiers et d'exécuter le binaire) et qui nécessite des ressources serveur modérées. Il a été conçu à l'origine pour les conférences (où un seul orateur diffuse l'audio et la vidéo à des centaines ou des milliers d'utilisateurs), mais a ensuite évolué pour être utile pour les travaux pratiques des étudiants (où les utilisateurs sont divisés en plusieurs petits groupes) et les réunions (où un quelques dizaines d'utilisateurs interagissent les uns avec les autres). -**Version incluse :** 0.3.5 +Serveur de visioconférence facile à déployer + +**Version incluse:** 0.3.5~ynh2 + +**Démo:** https://galene.org:8443/ + ## Captures d'écran -![](screenshot.png) -## Démo + ![](./doc/screenshots/screenshot.png) -* [Démo officielle](https://galene.org:8443/) + + + +## Avertissements / informations importantes ## Configuration @@ -55,39 +62,16 @@ Si vous avez une adresse IP dynamique, vous devrez peut-être également mettre Pour vérifier si Galène peut se connecter au serveur TURN, connectez-vous à Galène en tant qu'opérateur et tapez `/relay-test` dans la boîte de dialogue chat; si le serveur TURN est correctement configuré, vous devriez voir un message indiquant que le test du relais a réussi. -## Documentation - * Documentation officielle : https://galene.org/ - * Documentation YunoHost : https://yunohost.org/fr/app_galene -## Caractéristiques spécifiques YunoHost +## Documentations et ressources -#### Support multi-utilisateur +* Site official de l'app : https://galene.org -* L'authentification LDAP est-elle prise en charge ? **Non** -* L'application peut-elle être utilisée par plusieurs utilisateurs ? **Oui** - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/galene.svg)](https://ci-apps.yunohost.org/ci/apps/galene/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/galene.svg)](https://ci-apps-arm.yunohost.org/ci/apps/galene/) - -## Limitations - -* Limitations connues. - -## Informations additionnelles - -* Autres informations que vous souhaitez ajouter sur cette application. - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/galene_ynh/issues - * Site de l'application : https://galene.org/ - * Dépôt de l'application principale : https://github.com/jech/galene - * Site web YunoHost : https://yunohost.org/ - ---- +* Documentation officielle de l'admin: https://galene.org/ +* Dépôt de code officiel de l'app: https://github.com/jech/galene +* Documentation YunoHost pour cette app: https://yunohost.org/app_galene +* Signaler un bug: https://github.com/YunoHost-Apps/galene_ynh/issues ## Informations pour les développeurs @@ -96,6 +80,8 @@ Merci de faire vos pull request sur la [branche testing](https://github.com/Yuno Pour essayer la branche testing, procédez comme suit. ``` sudo yunohost app install https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug -ou +or sudo yunohost app upgrade galene -u https://github.com/YunoHost-Apps/galene_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index 14c9851..6c729d5 100644 --- a/check_process +++ b/check_process @@ -1,8 +1,3 @@ -# See here for more information -# https://github.com/YunoHost/package_check#syntax-check_process-file - -# Move this file from check_process.default to check_process when you have filled it. - ;; Test complet ; Manifest domain="domain.tld" @@ -31,4 +26,3 @@ Notification=none ; commit=c06f6235a93587e16524fa5b124e4d9e138a8109 name=Allow naming groups with spaces (#21) manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666& - diff --git a/conf/passwd b/conf/passwd index 61a88b3..fdcf9ba 100644 --- a/conf/passwd +++ b/conf/passwd @@ -1 +1,2 @@ -__ADMIN__:__PASSWORD__ \ No newline at end of file +__ADMIN__:__PASSWORD__ + diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..d751025 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,31 @@ +### How to creat groups + +Groups are defined by files in the `/opt/yunohost/galene/groups` directory. Various options are available (see https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file) + +### TURN server + +For VoIP and video conferencing a TURN server is also installed and configured. The TURN server listens on two UDP and TCP ports. You can get them with these commands: + +``` +sudo yunohost app setting galene turnserver_port +``` + +The TURN server will also choose a port dynamically when a new call starts. The range is between 49152 - 65535. + +For security reason the ports range (49152 - 65535) isn't automatically open by default. If you want to use Galène server for VoIP or conferencing you will need to open this port range manually. To do this, just run this command: + +``` +sudo yunohost firewall allow Both 49152:65535 +``` + +You might also need to open these ports (if it is not automatically done) on your ISP box. + +To prevent the situation when the server is behind a NAT, the public IP is written in the TURN server config. By this the TURN server can send its real public IP to the client. For more information see the [Coturn example config file](https://github.com/coturn/coturn/blob/master/examples/etc/turnserver.conf#L56-L62). So if your IP changes, you could run the script `/opt/yunohost/galene/Coturn_config_rotate.sh` to update your config. + +If you have a dynamic IP address, you also might need to update this config automatically. To do that just edit a file named `/etc/cron.d/coturn_config_rotate` and add the following content. + +``` +*/15 * * * * root bash /opt/yunohost/galene/Coturn_config_rotate.sh; +``` + +To check if Galène can connect to the TURN server, connect to Galène as operator and 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. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..6383949 --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,33 @@ +## Configuration + +### Comment créer des groupes + +Les groupes sont définis par des fichiers dans le répertoire `/opt/yunohost/galene/groups`. Différentes options sont disponibles (voir https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file) + +### Serveur TURN + +Pour la VoIP et la visioconférence, un serveur TURN est également installé et configuré. Le serveur TURN écoute sur deux ports UDP et TCP. Vous pouvez les obtenir avec ces commandes : + +``` +sudo yunohost app setting galene turnserver_port +``` + +Le serveur TURN choisira également un port de manière dynamique lors du démarrage d'une nouvelle visioconférence. La plage est comprise entre 49152 et 65535. + +Par sécurité, la plage de ports (49152 - 65535) n'est pas automatiquement ouverte par défaut. Si vous souhaitez utiliser Galène pour la VoIP ou la visioconférence, vous devrez ouvrir cette plage de ports manuellement. Pour ce faire, exécutez simplement cette commande : + +``` +sudo yunohost firewall allow Both 49152:65535 +``` + +Vous devrez peut-être également ouvrir ces ports (si ce n'est pas fait automatiquement) sur votre box. + +Pour éviter la situation où le serveur est derrière un NAT, l'adresse IP publique est écrite dans la configuration du serveur TURN. De cette manière, le serveur TURN peut envoyer sa véritable adresse IP publique au client. Pour plus d'informations, consultez [le fichier de configuration d'exemple Coturn](https://github.com/coturn/coturn/blob/master/examples/etc/turnserver.conf#L56-L62). Donc, si votre adresse IP change, vous pouvez exécuter le script `/opt/yunohost/galene/Coturn_config_rotate.sh` pour mettre à jour votre configuration. + +Si vous avez une adresse IP dynamique, vous devrez peut-être également mettre à jour cette configuration automatiquement. Pour ce faire, éditez simplement un fichier nommé `/etc/cron.d/coturn_config_rotate` et ajoutez le contenu suivant. + +``` +* / 15 * * * * root bash /opt/yunohost/galene/Coturn_config_rotate.sh; +``` + +Pour vérifier si Galène peut se connecter au serveur TURN, connectez-vous à Galène en tant qu'opérateur et tapez `/relay-test` dans la boîte de dialogue chat; si le serveur TURN est correctement configuré, vous devriez voir un message indiquant que le test du relais a réussi. diff --git a/screenshot.png b/doc/screenshots/screenshot.png similarity index 100% rename from screenshot.png rename to doc/screenshots/screenshot.png diff --git a/manifest.json b/manifest.json index e2471e7..b2a8e88 100644 --- a/manifest.json +++ b/manifest.json @@ -6,8 +6,15 @@ "en": "Videoconferencing server that is easy to deploy", "fr": "Serveur de visioconférence facile à déployer" }, - "version": "0.3.5~ynh1", - "url": "https://galene.org/", + "version": "0.3.5~ynh2", + "url": "https://galene.org", + "upstream": { + "license": "free", + "website": "https://galene.org", + "demo": "https://galene.org:8443/", + "admindoc": "https://galene.org/", + "code": "https://github.com/jech/galene" + }, "license": "MIT", "maintainer": { "name": "eric_G", diff --git a/scripts/install b/scripts/install index af0c440..c069d7f 100755 --- a/scripts/install +++ b/scripts/install @@ -227,7 +227,6 @@ ynh_add_config --template="../conf/ice-servers.json" --destination="$final_path/ # WARNING : theses command are used in INSTALL, UPGRADE # For any update do it in all files - cp ../sources/Coturn_config_rotate.sh $final_path/Coturn_config_rotate.sh ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh" chmod +x $final_path/Coturn_config_rotate.sh diff --git a/scripts/remove b/scripts/remove index 1035d54..8845489 100755 --- a/scripts/remove +++ b/scripts/remove @@ -82,6 +82,16 @@ ynh_script_progression --message="Removing logrotate configuration..." --weight= # Remove the app-specific logrotate config ynh_remove_logrotate +#================================================= +# REMOVE THE CRON FILE +#================================================= +ynh_script_progression --message="Removing the cron file..." --weight=1 + +if [[ ! -f "/etc/cron.d/coturn_config_rotate" ]]; then + # If a cron job as been add by user, remove it + ynh_secure_remove --file="/etc/cron.d/coturn_config_rotate" +fi + #================================================= # CLOSE A PORT #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index dcf9e1d..883c6e0 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -209,7 +209,6 @@ ynh_store_file_checksum --file="$coturn_config_path" # WARNING : theses command are used in INSTALL, UPGRADE # For any update do it in all files - cp ../sources/Coturn_config_rotate.sh $final_path/Coturn_config_rotate.sh ynh_replace_string --match_string=__APP__ --replace_string=$app --target_file="$final_path/Coturn_config_rotate.sh" chmod +x $final_path/Coturn_config_rotate.sh