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 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/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/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" ], diff --git a/scripts/install b/scripts/install index de020e1..b5bb202 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 +#================================================= +# 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" + #================================================= # 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 #================================================= @@ -110,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 #================================================= @@ -133,19 +137,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..e6161fd 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -80,29 +80,33 @@ 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" +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 #=================================================