diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90c63c5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +._.DS_Store \ No newline at end of file diff --git a/France_in_XXI_Century._School.jpg b/France_in_XXI_Century._School.jpg deleted file mode 100644 index fa6a037..0000000 Binary files a/France_in_XXI_Century._School.jpg and /dev/null differ diff --git a/README.md b/README.md index c72c6d0..49d9476 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,11 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## 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.2 +**Shipped version:** 0.3 ## Screenshots -![](France_in_XXI_Century._School.jpg) +![](screenshot.png) ## Demo @@ -23,6 +23,9 @@ Galène is a videoconferencing server that is easy to deploy (just copy a few fi ## Configuration +### 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) ## Documentation diff --git a/README_fr.md b/README_fr.md index 1edb2ae..0b7a9dd 100644 --- a/README_fr.md +++ b/README_fr.md @@ -11,11 +11,11 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install ## 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.2 +**Version incluse :** 0.3 ## Captures d'écran -![](France_in_XXI_Century._School.jpg) +![](screenshot.png) ## Démo @@ -23,6 +23,10 @@ Galène est un serveur de visioconférence facile à déployer (il suffit de cop ## 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) + ## Documentation * Documentation officielle : https://galene.org/ diff --git a/check_process b/check_process index f2ce840..7d4312d 100644 --- a/check_process +++ b/check_process @@ -1,8 +1,6 @@ # 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" (DOMAIN) @@ -10,7 +8,7 @@ admin="john" (USER) is_public=1 (PUBLIC|public=1|private=0) password="pass" - group_name="public" + group_name="public with space" ; Checks pkg_linter=1 setup_sub_dir=0 @@ -30,4 +28,3 @@ Notification=none ; commit=CommitHash name=Name and date of the commit. manifest_arg=domain=DOMAIN&path=PATH&admin=USER&language=fr&is_public=1&password=pass&port=666& - diff --git a/conf/arm.src b/conf/386.src similarity index 58% rename from conf/arm.src rename to conf/386.src index 6fd73a2..989d46a 100644 --- a/conf/arm.src +++ b/conf/386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.2/galene_0.2_Linux_arm.tar.gz -SOURCE_SUM=f1c498b1897e548a69e56392a63e5a20c72a2115a8c6112725a9005ee55c0fae +SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.3/galene_0.3_Linux_386.tar.gz +SOURCE_SUM=7264f573bc82185c88def851a70b1fe2b6f22c338ccf1e9c8fd9a80050c4be7e SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/conf/x86-64.src b/conf/amd64.src similarity index 58% rename from conf/x86-64.src rename to conf/amd64.src index 1ae76ef..f42530c 100644 --- a/conf/x86-64.src +++ b/conf/amd64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.2/galene_0.2_Linux_x86_64.tar.gz -SOURCE_SUM=6676942015ada1ddf5e136dfa7cd0af883ac988f117c88df64b2cb0db75b1d7d +SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.3/galene_0.3_Linux_amd64.tar.gz +SOURCE_SUM=0044483c52c392059463147df3762dd832350a5de6791e1fb4cb067cc39f880b SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/conf/arm6.src b/conf/arm6.src new file mode 100644 index 0000000..4024108 --- /dev/null +++ b/conf/arm6.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.3/galene_0.3_Linux_arm6.tar.gz +SOURCE_SUM=230bb8c9649138171f44fa299cbaccac07ecc47e800e61194528e6dd044f37fa +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=true +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/arm64.src b/conf/arm64.src index cfe42c2..fef4309 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.2/galene_0.2_Linux_arm64.tar.gz -SOURCE_SUM=b7d045f3df8268dab52b307152cb88be79e50b5363c1a98ca20def9021d16541 +SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.3/galene_0.3_Linux_arm64.tar.gz +SOURCE_SUM=7739c2e507e8a7deb8ea9f4a8de8a945d8ca8630a67c5c29851680a2cb208cc0 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true diff --git a/conf/arm7.src b/conf/arm7.src new file mode 100644 index 0000000..37b8792 --- /dev/null +++ b/conf/arm7.src @@ -0,0 +1,7 @@ +SOURCE_URL=https://github.com/YunoHost-Apps/galene_ynh/releases/download/v0.3/galene_0.3_Linux_arm7.tar.gz +SOURCE_SUM=5f81a71faf9450067eab29e57509258a23540374e3c2eb7ee71e616d87e3a10a +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=true +SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/groupname.json b/conf/groupname.json index 8b2becd..649bfec 100644 --- a/conf/groupname.json +++ b/conf/groupname.json @@ -1,19 +1,7 @@ { "op": [{"username": "__ADMIN__", "password": "__PASSWORD__"}], - "presenter": [ - {"username": "", "password": ""}, - {"username": "", "password": ""} - ], - "contact": "username@domain.com", - "comment": "Public Conference", + "presenter": [{}], "description": "a human-readable description of the group; this is displayed on the landing page for public groups.", - "autolock": true, "public": true, - "max-clients": 20, - "max-history-age": 14400, - "allow-recording": true, - "allow-anonymous": true, - "allow-subgroups": true, - "redirect": "", - "codecs": ["vp8", "opus"] -} \ No newline at end of file + "allow-anonymous": true +} diff --git a/conf/systemd.service b/conf/systemd.service index cff556e..a204e02 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,7 +8,7 @@ Type=simple WorkingDirectory=__FINALPATH__/ User=__APP__ Group=__APP__ -ExecStart=__FINALPATH__/galene +ExecStart=__FINALPATH__/galene -turn __IPV4__:1194 LimitNOFILE=65536 [Install] diff --git a/manifest.json b/manifest.json index 37c228a..2429f67 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Videoconferencing server that is easy to deploy", "fr": "Serveur de visioconférence facile à déployer" }, - "version": "0.2~ynh1", + "version": "0.3~ynh1", "url": "https://galene.org/", "license": "MIT", "maintainer": { @@ -14,7 +14,7 @@ "email": "" }, "requirements": { - "yunohost": ">= 4.0.8" + "yunohost": ">= 4.1.7" }, "multi_instance": false, "services": [ @@ -73,11 +73,7 @@ "en": "Choose a name for the group you want to create", "fr": "Choisissez un nom pour le groupe que vous voulez créer" }, - "help": { - "en": "The name will be used as filename (do not use space, dots or / in your name group).", - "fr": "Le nom sera utilisé comme nom de fichier (n'utilisez pas d'espace, de points ou / dans votre groupe de noms)." - }, - "default": "groupname", + "default": "public", "example": "public" } ] diff --git a/pull_request_template.md b/pull_request_template.md index 69ce5a0..6c28fc5 100644 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -10,3 +10,7 @@ - [ ] Fix or enhancement tested. - [ ] Upgrade from last version tested. - [ ] Can be reviewed and tested. + +## Package_check results +--- +* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..2a55dfa Binary files /dev/null and b/screenshot.png differ diff --git a/scripts/_common.sh b/scripts/_common.sh index 85bc35d..28b4f50 100755 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,9 +4,6 @@ # COMMON VARIABLES #================================================= -# dependencies used by the app -#pkg_dependencies="coturn" - #================================================= # PERSONAL HELPERS #================================================= @@ -32,13 +29,13 @@ ynh_detect_arch(){ if [ -n "$(uname -m | grep arm64)" ] || [ -n "$(uname -m | grep aarch64)" ]; then architecture="arm64" elif [ -n "$(uname -m | grep 64)" ]; then - architecture="x86-64" + architecture="amd64" + elif [ -n "$(uname -m | grep 86)" ]; then + architecture="386" elif [ -n "$(uname -m | grep armv7)" ]; then - architecture="arm" + architecture="arm7" elif [ -n "$(uname -m | grep armv6)" ]; then - architecture="arm" - elif [ -n "$(uname -m | grep armv5)" ]; then - architecture="arm" + architecture="arm6" else architecture="unknown" fi diff --git a/scripts/backup b/scripts/backup index 94a5224..11f1bbb 100755 --- a/scripts/backup +++ b/scripts/backup @@ -46,14 +46,6 @@ ynh_backup --src_path="$final_path" ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP LOGROTATE -#================================================= - -#ynh_backup --src_path="/etc/logrotate.d/$app" - #================================================= # BACKUP SYSTEMD #================================================= diff --git a/scripts/change_url b/scripts/change_url index 10d80ee..e06bd03 100755 --- a/scripts/change_url +++ b/scripts/change_url @@ -70,7 +70,7 @@ fi #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=1 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log" #================================================= # MODIFY URL IN NGINX CONF @@ -106,14 +106,14 @@ fi #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=3 +ynh_script_progression --message="Starting a systemd service..." --weight=3 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=start --log_path="/var/log/$app/$app.log" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --time --weight=1 +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/install b/scripts/install index 7944bee..ef98bf6 100755 --- a/scripts/install +++ b/scripts/install @@ -66,15 +66,14 @@ ynh_script_progression --message="Finding an available port..." --weight=3 port=$(ynh_find_port --port=8443) ynh_app_setting_set --app=$app --key=port --value=$port +# Find an available port +turn_port=$(ynh_find_port --port=1194) +ynh_app_setting_set --app=$app --key=port --value=$turn_port + # Open the port -# ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port - -#================================================= -# INSTALL DEPENDENCIES -#================================================= -#ynh_script_progression --message="Installing dependencies..." --time --weight=1 - -#ynh_install_app_dependencies $pkg_dependencies +ynh_script_progression --message="Configuring firewall..." --weight=1 +ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port +ynh_exec_warn_less yunohost firewall allow Both $turn_port #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -85,14 +84,23 @@ 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" +#================================================= +# CREATE DATA FOLDER +#================================================= + +# Define app's data directory +data="$final_path/data" +# Create data folder +mkdir -p "$data" + #================================================= # CREATE A SERVER CERTIFICATE #================================================= -pushd "$final_path" - ynh_exec_warn_less openssl req -newkey rsa:2048 -nodes -keyout data/key.pem -x509 -days 365 -out data/cert.pem \ +pushd "$final_path/data" + ynh_exec_warn_less openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem \ -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress=" - chmod 640 data/{key.pem,cert.pem} + chmod 640 {key.pem,cert.pem} popd #================================================= @@ -116,27 +124,30 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Configuring a systemd service..." --weight=1 +public_ip4="$(curl ip.yunohost.org)" || true + +ynh_replace_string --match_string="__IPV4__" --replace_string="$public_ip4" --target_file="../conf/systemd.service" + # Create a dedicated systemd config ynh_add_systemd_config +#================================================= +# CREATE GROUPS FOLDER +#================================================= + +# Define app's groups directory +groups="$final_path/groups" +# Create groups folder +mkdir -p "$groups" + #================================================= # MODIFY A CONFIG FILE #================================================= -cp ../conf/passwd $final_path/data/passwd -ynh_replace_string --match_string="__ADMIN__" --replace_string="$admin" --target_file="$final_path/data/passwd" -ynh_replace_string --match_string="__PASSWORD__" --replace_string="$password" --target_file="$final_path/data/passwd" - -mv "../conf/groupname.json" "$final_path/groups/$group_name.json" -ynh_replace_string --match_string="__ADMIN__" --replace_string="$admin" --target_file="$final_path/groups/$group_name.json" -ynh_replace_string --match_string="__PASSWORD__" --replace_string="$password" --target_file="$final_path/groups/$group_name.json" - -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= - -# Calculate and store the config file checksum into the app settings +ynh_add_config --template="../conf/passwd" --destination="$final_path/data/passwd" ynh_store_file_checksum --file="$final_path/data/passwd" + +ynh_add_config --template="../conf/groupname.json" --destination="$final_path/groups/$group_name.json" ynh_store_file_checksum --file="$final_path/groups/$group_name.json" #================================================= @@ -149,20 +160,12 @@ ynh_store_file_checksum --file="$final_path/groups/$group_name.json" chown -R $app: $final_path chmod -R 755 $final_path -#================================================= -# SETUP LOGROTATE -#================================================= -#ynh_script_progression --message="Configuring log rotation..." --weight=1 - -# Use logrotate to manage application logfile(s) -#ynh_use_logrotate - #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description="Videoconferencing server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Videoconferencing server" --log="/var/log/$app/$app.log" --needs_exposed_ports="$turn_port" #================================================= # START SYSTEMD SERVICE @@ -180,7 +183,7 @@ ynh_script_progression --message="Configuring permissions..." --weight=2 # Make app public if necessary if [ $is_public -eq 1 ] then - ynh_permission_update --permission "main" --add "visitors" + ynh_permission_update --permission="main" --add="visitors" fi #================================================= diff --git a/scripts/remove b/scripts/remove index a1ec6fb..e967107 100755 --- a/scripts/remove +++ b/scripts/remove @@ -18,6 +18,7 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) port=$(ynh_app_setting_get --app=$app --key=port) +turn_port=$(ynh_app_setting_get --app=$app --key=turn_port) final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= @@ -41,14 +42,6 @@ ynh_script_progression --message="Stopping and removing the systemd service..." # Remove the dedicated systemd config ynh_remove_systemd_config -#================================================= -# REMOVE DEPENDENCIES -#================================================= -#ynh_script_progression --message="Removing dependencies..." --time --weight=1 - -# Remove metapackage and its dependencies -#ynh_remove_app_dependencies - #================================================= # REMOVE APP MAIN DIR #================================================= @@ -65,23 +58,21 @@ ynh_script_progression --message="Removing NGINX web server configuration..." -- # Remove the dedicated NGINX config ynh_remove_nginx_config -#================================================= -# REMOVE LOGROTATE CONFIGURATION -#================================================= -#ynh_script_progression --message="Removing logrotate configuration..." --time --weight=1 - -# Remove the app-specific logrotate config -#ynh_remove_logrotate - #================================================= # CLOSE A PORT #================================================= -# if yunohost firewall list | grep -q "\- $port$" -# then -# ynh_script_progression --message="Closing port $port..." --time --weight=1 -# ynh_exec_warn_less yunohost firewall disallow TCP $port -# fi +if yunohost firewall list | grep -q "\- $port$" +then + ynh_script_progression --message="Closing port $port..." --weight=1 + ynh_exec_warn_less yunohost firewall disallow TCP $port +fi + +if yunohost firewall list | grep -q "\- $turn_port$" +then + ynh_script_progression --message="Closing port $turn_port..." --weight=1 + ynh_exec_warn_less yunohost firewall disallow both $turn_port +fi #================================================= # GENERIC FINALIZATION diff --git a/scripts/restore b/scripts/restore index 43e1834..0838dfb 100755 --- a/scripts/restore +++ b/scripts/restore @@ -31,6 +31,7 @@ domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) group_name=$(ynh_app_setting_get --app=$app --key=group_name) +turn_port=$(ynh_app_setting_get --app=$app --key=turn_port) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -73,16 +74,6 @@ ynh_system_user_create --username=$app chown -R $app: $final_path chmod -R 755 $final_path -#================================================= -# SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -#ynh_script_progression --message="Reinstalling dependencies..." --weight=1 - -# Define and install dependencies -#ynh_install_app_dependencies $pkg_dependencies - #================================================= # RESTORE SYSTEMD #================================================= @@ -96,20 +87,14 @@ systemctl enable $app.service --quiet #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=2 -yunohost service add $app --description="Videoconferencing server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Videoconferencing server" --log="/var/log/$app/$app.log" --needs_exposed_ports="$turn_port" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=3 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - -#================================================= -# RESTORE THE LOGROTATE CONFIGURATION -#================================================= - -#ynh_restore_file --origin_path="/etc/logrotate.d/$app" +ynh_systemd_action --service_name=$app --action=start --log_path="/var/log/$app/$app.log" #================================================= # GENERIC FINALIZATION diff --git a/scripts/upgrade b/scripts/upgrade index 2c849ed..4aa87ef 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -19,10 +19,10 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) admin=$(ynh_app_setting_get --app=$app --key=admin) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) group_name=$(ynh_app_setting_get --app=$app --key=group_name) port=$(ynh_app_setting_get --app=$app --key=port) +turn_port=$(ynh_app_setting_get --app=$app --key=turn_port) architecture=$(ynh_detect_arch) #================================================= @@ -63,7 +63,7 @@ ynh_abort_if_errors #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=3 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -84,18 +84,25 @@ then ynh_setup_source --dest_dir="$final_path" --source_id="$architecture" + # 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" # Remove the tmp directory securely ynh_secure_remove --file="$tmpdir" + ynh_add_config --template="../conf/passwd" --destination="$final_path/data/passwd" + ynh_store_file_checksum --file="$final_path/data/passwd" + # Recreate certificates - pushd "$final_path" - ynh_exec_warn_less openssl req -newkey rsa:2048 -nodes -keyout data/key.pem -x509 -days 365 -out data/cert.pem \ - -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress=" - chmod 640 data/{key.pem,cert.pem} + pushd "$final_path/data" + ynh_exec_warn_less openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem \ + -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress=" + chmod 640 {key.pem,cert.pem} popd + fi #================================================= @@ -106,13 +113,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." - # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# UPGRADE DEPENDENCIES -#================================================= -#ynh_script_progression --message="Upgrading dependencies..." --weight=1 - -#ynh_install_app_dependencies $pkg_dependencies - #================================================= # CREATE DEDICATED USER #================================================= @@ -126,6 +126,10 @@ ynh_system_user_create --username=$app #================================================= ynh_script_progression --message="Upgrading systemd configuration..." --weight=1 +public_ip4="$(curl ip.yunohost.org)" || true + +ynh_replace_string --match_string="__IPV4__" --replace_string="$public_ip4" --target_file="../conf/systemd.service" + # Create a dedicated systemd config ynh_add_systemd_config @@ -139,27 +143,19 @@ ynh_add_systemd_config chown -R $app: $final_path chmod -R 755 $final_path -#================================================= -# SETUP LOGROTATE -#================================================= -# ynh_script_progression --message="Upgrading logrotate configuration..." --time --weight=1 - -# # Use logrotate to manage app-specific logfile(s) -# ynh_use_logrotate --non-append - #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 -yunohost service add $app --description="Videoconferencing server" --log="/var/log/$app/$app.log" +yunohost service add $app --description="Videoconferencing server" --log="/var/log/$app/$app.log" --needs_exposed_ports="$turn_port" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=1 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +ynh_systemd_action --service_name=$app --action=start --log_path="/var/log/$app/$app.log" #================================================= # RELOAD NGINX