From 2482ad8186e1ad7463523c4f6db855919b7c98f8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:36:30 +0200 Subject: [PATCH 01/10] Various fix --- conf/nginx.conf | 1 - doc/DISCLAIMER.md | 4 ++-- doc/DISCLAIMER_fr.md | 6 +++--- scripts/install | 25 ++++++++++++++----------- scripts/restore | 23 ++++++++++------------- scripts/upgrade | 14 ++++---------- 6 files changed, 33 insertions(+), 40 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index a2c407d..cfc3e41 100755 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -16,5 +16,4 @@ location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - } diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index cfbdccf..7ec1d5c 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -5,7 +5,7 @@ #### Creating and configuring groups Groups are defined by JSON files located in the *Galène* folder (`/opt/yunohost/galene/groups`). Each group is represented by a `GroupName.json` file. -To create a new group, you need to create a `GroupNameExample.json` file (you can also make subfolder groups, and the groups will be accessible with `https://domain.tld/group/subfolder/GroupName`). Various options are available (see https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file). +To create a new group, you need to create a `GroupNameExample.json` file (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.* @@ -31,7 +31,7 @@ Galène comes with a built-in TURN server that should work out-of-the-box. } ] ``` -- set `/etc/systemd/system/galene.service` `-turn` option to `-turn auto`. (or `-turn ""` to disable the built-in TURN server) +- 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. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index a63a443..f557adc 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -5,7 +5,7 @@ Les salles de réunion *Galène* sont appelées « groupes ». Tout groupe est a #### Ajouter et configurer des groupes Les groupes sont définis par des fichiers JSON situés dans le dossier *Galène* (`/opt/yunohost/galene/groups`). Chaque groupe est représenté par un fichier `GroupName.json`. -Pour créer un nouveau groupe, vous devez créer un fichier `GroupNameExample.json` (vous pouvez également créer un sous-dossier, et les groupes seront accessibles avec` https://domain.tld/group/subfolder/GroupName`). Différentes options sont disponibles (voir https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file). +Pour créer un nouveau groupe, vous devez créer un fichier `GroupNameExample.json` (vous pouvez également créer un sous-dossier, et les groupes seront accessibles avec` https://domain.tld/group/subfolder/GroupName`). Différentes options de configurations sont disponibles (voir https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file). *NB : les espaces sont pris en charge dans les noms de fichiers de groupe.* @@ -31,10 +31,10 @@ Galène est livré avec un serveur TURN intégré qui devrait fonctionner imméd } ] ``` -- définir l'option de virage de `/etc/systemd/system/galene.service` sur `-turn auto` (ou `-turn ""` pour désactiver le serveur TURN intégré) +- définir l'option de virage de `/etc/systemd/system/galene.service` sur `-turn auto` (ou `-turn ""` pour désactiver le serveur TURN intégré). Pour vérifier si le serveur TURN est opérationnel, tapez `/relay-test` dans la boîte de dialogue ; si le serveur TURN est correctement configuré, vous devriez voir un message indiquant que le test du relai a réussi. ### Statistiques du serveur -Certaines statistiques sont disponibles sous `/opt/yunohost/galene/stats.json`, avec une version lisible par l'homme sur `domain.ltd/stats.html`. Ceci n'est disponible que pour l'administrateur du serveur. +Certaines statistiques sont disponibles sous `/opt/yunohost/galene/stats.json`, avec une version lisible sur `domain.ltd/stats.html`. Ceci n'est disponible que pour l'administrateur du serveur. diff --git a/scripts/install b/scripts/install index de020e1..b65d5b6 100755 --- a/scripts/install +++ b/scripts/install @@ -79,6 +79,14 @@ ynh_exec_warn_less yunohost firewall allow Both $turn_port # Reserve UDP Port range 49152:65535 ynh_exec_warn_less yunohost firewall allow UDP -4 49152:65535 +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --weight=2 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -88,6 +96,10 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # CREATE DATA AND GROUPS FOLDER #================================================= @@ -133,19 +145,10 @@ ynh_add_systemd_config #================================================= ynh_add_config --template="../conf/passwd" --destination="$final_path/data/passwd" - +chmod 400 "$final_path/data/passwd" +chown $app "$final_path/data/passwd" ynh_add_config --template="../conf/groupname.json" --destination="$final_path/groups/$group_name.json" -#================================================= -# GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions to app files -chown -R $app: $final_path -chmod -R 750 $final_path - #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= diff --git a/scripts/restore b/scripts/restore index 27da783..85524bd 100755 --- a/scripts/restore +++ b/scripts/restore @@ -51,13 +51,6 @@ test ! -d $final_path \ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# RESTORE THE APP MAIN DIR -#================================================= -ynh_script_progression --message="Restoring the app main directory..." --weight=1 - -ynh_restore_file --origin_path="$final_path" - #================================================= # RECREATE THE DEDICATED USER #================================================= @@ -66,13 +59,17 @@ ynh_script_progression --message="Recreating the dedicated system user..." --wei # Create the dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" -#================================================= -# RESTORE USER RIGHTS -#================================================= -# Restore permissions on app files -chown -R $app: $final_path -chmod -R 750 $final_path +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= +ynh_script_progression --message="Restoring the app main directory..." --weight=1 + +ynh_restore_file --origin_path="$final_path" + +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index 5dc8d50..6aa0550 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -103,6 +103,10 @@ then ynh_secure_remove --file="$tmpdir" fi +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" + #================================================= # NGINX CONFIGURATION #================================================= @@ -129,16 +133,6 @@ public_ip4="$(curl -s ip.yunohost.org)" || true # Create a dedicated systemd config ynh_add_systemd_config -#================================================= -# GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions on app files -chown -R $app: $final_path -chmod -R 750 $final_path - #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= From 787742e860056f7427fcc927de76303704235667 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Wed, 2 Jun 2021 07:36:42 +0000 Subject: [PATCH 02/10] Auto-update README --- README.md | 4 ++-- README_fr.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 7ac0a7f..84d5e9e 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Videoconferencing server that is easy to deploy #### Creating and configuring groups Groups are defined by JSON files located in the *Galène* folder (`/opt/yunohost/galene/groups`). Each group is represented by a `GroupName.json` file. -To create a new group, you need to create a `GroupNameExample.json` file (you can also make subfolder groups, and the groups will be accessible with `https://domain.tld/group/subfolder/GroupName`). Various options are available (see https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file). +To create a new group, you need to create a `GroupNameExample.json` file (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.* @@ -60,7 +60,7 @@ Galène comes with a built-in TURN server that should work out-of-the-box. } ] ``` -- set `/etc/systemd/system/galene.service` `-turn` option to `-turn auto`. (or `-turn ""` to disable the built-in TURN server) +- 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. diff --git a/README_fr.md b/README_fr.md index 7af3a9d..e677ac8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -30,7 +30,7 @@ Les salles de réunion *Galène* sont appelées « groupes ». Tout groupe est a #### Ajouter et configurer des groupes Les groupes sont définis par des fichiers JSON situés dans le dossier *Galène* (`/opt/yunohost/galene/groups`). Chaque groupe est représenté par un fichier `GroupName.json`. -Pour créer un nouveau groupe, vous devez créer un fichier `GroupNameExample.json` (vous pouvez également créer un sous-dossier, et les groupes seront accessibles avec` https://domain.tld/group/subfolder/GroupName`). Différentes options sont disponibles (voir https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file). +Pour créer un nouveau groupe, vous devez créer un fichier `GroupNameExample.json` (vous pouvez également créer un sous-dossier, et les groupes seront accessibles avec` https://domain.tld/group/subfolder/GroupName`). Différentes options de configurations sont disponibles (voir https://github.com/YunoHost-Apps/galene_ynh/wiki/Configuration-file). *NB : les espaces sont pris en charge dans les noms de fichiers de groupe.* @@ -56,13 +56,13 @@ Galène est livré avec un serveur TURN intégré qui devrait fonctionner imméd } ] ``` -- définir l'option de virage de `/etc/systemd/system/galene.service` sur `-turn auto` (ou `-turn ""` pour désactiver le serveur TURN intégré) +- définir l'option de virage de `/etc/systemd/system/galene.service` sur `-turn auto` (ou `-turn ""` pour désactiver le serveur TURN intégré). Pour vérifier si le serveur TURN est opérationnel, tapez `/relay-test` dans la boîte de dialogue ; si le serveur TURN est correctement configuré, vous devriez voir un message indiquant que le test du relai a réussi. ### Statistiques du serveur -Certaines statistiques sont disponibles sous `/opt/yunohost/galene/stats.json`, avec une version lisible par l'homme sur `domain.ltd/stats.html`. Ceci n'est disponible que pour l'administrateur du serveur. +Certaines statistiques sont disponibles sous `/opt/yunohost/galene/stats.json`, avec une version lisible sur `domain.ltd/stats.html`. Ceci n'est disponible que pour l'administrateur du serveur. ## Documentations et ressources From 1ea8886204ba900aaf5bf15461a4e73ac5d76167 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:37:29 +0200 Subject: [PATCH 03/10] Update install --- scripts/install | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/scripts/install b/scripts/install index b65d5b6..b5bb202 100755 --- a/scripts/install +++ b/scripts/install @@ -80,11 +80,11 @@ ynh_exec_warn_less yunohost firewall allow Both $turn_port ynh_exec_warn_less yunohost firewall allow UDP -4 49152:65535 #================================================= -# RECREATE THE DEDICATED USER +# CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --weight=2 +ynh_script_progression --message="Configuring system user..." --weight=3 -# Create the dedicated user (if not existing) +# Create a system user ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= @@ -122,14 +122,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=2 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." --weight=3 - -# Create a system user -ynh_system_user_create --username=$app --home_dir="$final_path" - #================================================= # SETUP SYSTEMD #================================================= From f476887824f4866ee96b1a24bec968087492a191 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:39:51 +0200 Subject: [PATCH 04/10] Update upgrade --- scripts/upgrade | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 6aa0550..e6161fd 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -80,27 +80,27 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=2 - # Create a temporary directory - tmpdir="$(mktemp -d)" + # # Create a temporary directory + # tmpdir="$(mktemp -d)" - # Backup the config file in the temp dir - cp -ar "$final_path/groups" "$tmpdir/groups" - cp -ar "$final_path/data/passwd" "$tmpdir/passwd" + # # Backup the config file in the temp dir + # cp -ar "$final_path/groups" "$tmpdir/groups" + # cp -ar "$final_path/data/passwd" "$tmpdir/passwd" - # Remove the app directory securely - ynh_secure_remove --file="$final_path" + # # Remove the app directory securely + # ynh_secure_remove --file="$final_path" - ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" + ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" --keep="$final_path/groups $final_path/data/passwd" - # Create data and groups folder - mkdir -p "$final_path/data" "$final_path/groups" + # # Create data and groups folder + # mkdir -p "$final_path/data" "$final_path/groups" - # Copy the admin saved settings from tmp directory to final path - cp -ar "$tmpdir/groups" "$final_path/groups" - cp -ar "$tmpdir/passwd" "$final_path/data/passwd" + # # Copy the admin saved settings from tmp directory to final path + # cp -ar "$tmpdir/groups" "$final_path/groups" + # cp -ar "$tmpdir/passwd" "$final_path/data/passwd" - # Remove the tmp directory securely - ynh_secure_remove --file="$tmpdir" + # # Remove the tmp directory securely + # ynh_secure_remove --file="$tmpdir" fi chmod 750 "$final_path" From ad7fe3265b05e9b9dc5718fb56f66a5cc6d3f454 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:41:05 +0200 Subject: [PATCH 05/10] Fix --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index b5bb202..5770202 100755 --- a/scripts/install +++ b/scripts/install @@ -97,7 +97,7 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" chmod 750 "$final_path" -chmod -R o-rwx "$final_path" +#chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" #================================================= diff --git a/scripts/restore b/scripts/restore index 85524bd..8d2882d 100755 --- a/scripts/restore +++ b/scripts/restore @@ -68,7 +68,7 @@ ynh_script_progression --message="Restoring the app main directory..." --weight= ynh_restore_file --origin_path="$final_path" chmod 750 "$final_path" -chmod -R o-rwx "$final_path" +#chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index e6161fd..0b9c34d 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -104,7 +104,7 @@ then fi chmod 750 "$final_path" -chmod -R o-rwx "$final_path" +#chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" #================================================= From 7046c7143df385fa81bd2f6458b8b71bcf7e552a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:46:00 +0200 Subject: [PATCH 06/10] Fix --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index 5770202..c8fb52b 100755 --- a/scripts/install +++ b/scripts/install @@ -98,7 +98,7 @@ ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" chmod 750 "$final_path" #chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chown -R $app: "$final_path" #================================================= # CREATE DATA AND GROUPS FOLDER diff --git a/scripts/restore b/scripts/restore index 8d2882d..9e397e6 100755 --- a/scripts/restore +++ b/scripts/restore @@ -69,7 +69,7 @@ ynh_restore_file --origin_path="$final_path" chmod 750 "$final_path" #chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chown -R $app: "$final_path" #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index 0b9c34d..50d38c1 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -105,7 +105,7 @@ fi chmod 750 "$final_path" #chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chown -R $app: "$final_path" #================================================= # NGINX CONFIGURATION From c1d6ee4a7da8ef80a14e4a97fce11d5383ca36af Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:50:46 +0200 Subject: [PATCH 07/10] Fix --- scripts/install | 4 ++-- scripts/restore | 4 ++-- scripts/upgrade | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/install b/scripts/install index c8fb52b..b5bb202 100755 --- a/scripts/install +++ b/scripts/install @@ -97,8 +97,8 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" chmod 750 "$final_path" -#chmod -R o-rwx "$final_path" -chown -R $app: "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # CREATE DATA AND GROUPS FOLDER diff --git a/scripts/restore b/scripts/restore index 9e397e6..85524bd 100755 --- a/scripts/restore +++ b/scripts/restore @@ -68,8 +68,8 @@ ynh_script_progression --message="Restoring the app main directory..." --weight= ynh_restore_file --origin_path="$final_path" chmod 750 "$final_path" -#chmod -R o-rwx "$final_path" -chown -R $app: "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index 50d38c1..e6161fd 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -104,8 +104,8 @@ then fi chmod 750 "$final_path" -#chmod -R o-rwx "$final_path" -chown -R $app: "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" #================================================= # NGINX CONFIGURATION From ee246c2f2fe30708daf534f64e0cf09e3a6a7302 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 09:55:37 +0200 Subject: [PATCH 08/10] Update systemd.service --- conf/systemd.service | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/systemd.service b/conf/systemd.service index 148beb1..7c2e613 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,8 @@ Type=simple WorkingDirectory=__FINALPATH__/ User=__APP__ Group=__APP__ -ExecStart=__FINALPATH__/galene -http __PORT__ -turn __PUBLIC_IP4__:__TURN_PORT__ -udp-range 49152:65535 +ExecStart=__FINALPATH__/galene -http __PORT__ -turn __PUBLIC_IP4__:__TURN_PORT__ +#-udp-range 49152:65535 LimitNOFILE=65536 [Install] From b71b4be5f6587fe67f63c68b1742d74d8a1b94c3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 11:19:24 +0200 Subject: [PATCH 09/10] Update systemd.service --- conf/systemd.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/systemd.service b/conf/systemd.service index 7c2e613..6ac3ad4 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,7 @@ Type=simple WorkingDirectory=__FINALPATH__/ User=__APP__ Group=__APP__ -ExecStart=__FINALPATH__/galene -http __PORT__ -turn __PUBLIC_IP4__:__TURN_PORT__ +ExecStart=__FINALPATH__/galene -turn __PUBLIC_IP4__:__TURN_PORT__ #-udp-range 49152:65535 LimitNOFILE=65536 From 3f1c92c12bf924f1ed43c58705d2b78d423b3268 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 2 Jun 2021 11:42:22 +0200 Subject: [PATCH 10/10] Fix --- check_process | 2 +- manifest.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/check_process b/check_process index 864da8c..bb6d458 100644 --- a/check_process +++ b/check_process @@ -15,7 +15,7 @@ setup_public=1 upgrade=1 backup_restore=1 - multi_instance=1 + multi_instance=0 change_url=1 ;;; Options Email= diff --git a/manifest.json b/manifest.json index 0002260..157f53e 100644 --- a/manifest.json +++ b/manifest.json @@ -24,7 +24,7 @@ "requirements": { "yunohost": ">= 4.2.4" }, - "multi_instance": true, + "multi_instance": false, "services": [ "nginx" ],