1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/galene_ynh.git synced 2024-09-03 18:36:31 +02:00

Merge branch 'patch' into patch-0.4

This commit is contained in:
ericgaspar 2021-06-02 12:11:35 +02:00
commit 54592a2b10
No known key found for this signature in database
GPG key ID: 574F281483054D44
10 changed files with 55 additions and 70 deletions

View file

@ -34,7 +34,7 @@ Videoconferencing server that is easy to deploy
#### Creating and configuring groups #### 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. 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.* *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. 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.

View file

@ -30,7 +30,7 @@ Les salles de réunion *Galène* sont appelées « groupes ». Tout groupe est a
#### Ajouter et configurer des groupes #### 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`. 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.* *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. 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 ### 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 ## Documentations et ressources

View file

@ -15,7 +15,7 @@
setup_public=1 setup_public=1
upgrade=1 upgrade=1
backup_restore=1 backup_restore=1
multi_instance=1 multi_instance=0
change_url=1 change_url=1
;;; Options ;;; Options
Email= Email=

View file

@ -16,5 +16,4 @@ location / {
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade"; proxy_set_header Connection "upgrade";
} }

View file

@ -5,7 +5,7 @@
#### Creating and configuring groups #### 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. 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.* *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. 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.

View file

@ -5,7 +5,7 @@ Les salles de réunion *Galène* sont appelées « groupes ». Tout groupe est a
#### Ajouter et configurer des groupes #### 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`. 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.* *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. 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 ### 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.

View file

@ -24,7 +24,7 @@
"requirements": { "requirements": {
"yunohost": ">= 4.2.4" "yunohost": ">= 4.2.4"
}, },
"multi_instance": true, "multi_instance": false,
"services": [ "services": [
"nginx" "nginx"
], ],

View file

@ -79,6 +79,14 @@ ynh_exec_warn_less yunohost firewall allow Both $turn_port
# Reserve UDP Port range 49152:65535 # Reserve UDP Port range 49152:65535
ynh_exec_warn_less yunohost firewall allow UDP -4 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 # 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 # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" 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 # CREATE DATA AND GROUPS FOLDER
#================================================= #=================================================
@ -110,14 +122,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=2
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_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 # SETUP SYSTEMD
#================================================= #=================================================
@ -133,19 +137,10 @@ ynh_add_systemd_config
#================================================= #=================================================
ynh_add_config --template="../conf/passwd" --destination="$final_path/data/passwd" 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" 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 # INTEGRATE SERVICE IN YUNOHOST
#================================================= #=================================================

View file

@ -51,13 +51,6 @@ test ! -d $final_path \
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" 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 # 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) # Create the dedicated user (if not existing)
ynh_system_user_create --username=$app --home_dir="$final_path" ynh_system_user_create --username=$app --home_dir="$final_path"
#=================================================
# RESTORE USER RIGHTS
#=================================================
# Restore permissions on app files #=================================================
chown -R $app: $final_path # RESTORE THE APP MAIN DIR
chmod -R 750 $final_path #=================================================
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 # RESTORE SYSTEMD

View file

@ -80,29 +80,33 @@ if [ "$upgrade_type" == "UPGRADE_APP" ]
then then
ynh_script_progression --message="Upgrading source files..." --weight=2 ynh_script_progression --message="Upgrading source files..." --weight=2
# Create a temporary directory # # Create a temporary directory
tmpdir="$(mktemp -d)" # tmpdir="$(mktemp -d)"
# Backup the config file in the temp dir # # Backup the config file in the temp dir
cp -ar "$final_path/groups" "$tmpdir/groups" # cp -ar "$final_path/groups" "$tmpdir/groups"
cp -ar "$final_path/data/passwd" "$tmpdir/passwd" # cp -ar "$final_path/data/passwd" "$tmpdir/passwd"
# Remove the app directory securely # # Remove the app directory securely
ynh_secure_remove --file="$final_path" # 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 # # Create data and groups folder
mkdir -p "$final_path/data" "$final_path/groups" # mkdir -p "$final_path/data" "$final_path/groups"
# Copy the admin saved settings from tmp directory to final path # # Copy the admin saved settings from tmp directory to final path
cp -ar "$tmpdir/groups" "$final_path/groups" # cp -ar "$tmpdir/groups" "$final_path/groups"
cp -ar "$tmpdir/passwd" "$final_path/data/passwd" # cp -ar "$tmpdir/passwd" "$final_path/data/passwd"
# Remove the tmp directory securely # # Remove the tmp directory securely
ynh_secure_remove --file="$tmpdir" # ynh_secure_remove --file="$tmpdir"
fi fi
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -129,16 +133,6 @@ public_ip4="$(curl -s ip.yunohost.org)" || true
# Create a dedicated systemd config # Create a dedicated systemd config
ynh_add_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 # INTEGRATE SERVICE IN YUNOHOST
#================================================= #=================================================