From 26646bc22a38d1e93183ba64525f9648f92ba73c Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 13:28:37 +0100 Subject: [PATCH 01/16] node version 16 LTS --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 0a02cf0..dbf1cd1 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= # dependencies used by the app (must be on a single line) -NODEJS_VERSION=18 +NODEJS_VERSION=16 #================================================= # PERSONAL HELPERS From 289eff87b79bf9215cf04d2607c13f61ba93825c Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 14:29:37 +0100 Subject: [PATCH 02/16] increase network time out --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index d729555..3472032 100755 --- a/scripts/install +++ b/scripts/install @@ -97,7 +97,7 @@ ynh_script_progression --message="Building from sources..." --weight=1 pushd "$final_path" ynh_script_progression --message="Fetching Yarn dependencies... This can be very long, be patient !" --weight=40 - ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=30 diff --git a/scripts/upgrade b/scripts/upgrade index 658e2f7..6254edf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -92,7 +92,7 @@ then ynh_script_progression --message="Building from sources..." --weight=15 pushd "$final_path" ynh_script_progression --message="Fetching Yarn dependencies... This can be very long, be patient !" --weight=18 - ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=18 From edf03adc1187d54c645f9acdf874ef113ca25d6f Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 14:29:42 +0100 Subject: [PATCH 03/16] Back to nodejs LTS version 18 --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index dbf1cd1..0a02cf0 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= # dependencies used by the app (must be on a single line) -NODEJS_VERSION=16 +NODEJS_VERSION=18 #================================================= # PERSONAL HELPERS From d8737f2aa2344aae5225621fc87efc67283584b3 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 15:06:48 +0100 Subject: [PATCH 04/16] Using yarn workspaces focus --- scripts/install | 2 ++ scripts/upgrade | 2 ++ 2 files changed, 4 insertions(+) diff --git a/scripts/install b/scripts/install index 3472032..d371dbb 100755 --- a/scripts/install +++ b/scripts/install @@ -97,6 +97,8 @@ ynh_script_progression --message="Building from sources..." --weight=1 pushd "$final_path" ynh_script_progression --message="Fetching Yarn dependencies... This can be very long, be patient !" --weight=40 + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn plugin import workspace-tools + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn workspaces focus --production ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 diff --git a/scripts/upgrade b/scripts/upgrade index 6254edf..a4f6fd5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -92,6 +92,8 @@ then ynh_script_progression --message="Building from sources..." --weight=15 pushd "$final_path" ynh_script_progression --message="Fetching Yarn dependencies... This can be very long, be patient !" --weight=18 + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn plugin import workspace-tools + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn workspaces focus --production ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 From 3ab4199007753261147f01ee3c1ee15bc1426842 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 15:16:07 +0100 Subject: [PATCH 05/16] yarn install twice --- scripts/install | 1 + scripts/upgrade | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/install b/scripts/install index d371dbb..993fc81 100755 --- a/scripts/install +++ b/scripts/install @@ -100,6 +100,7 @@ pushd "$final_path" ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn plugin import workspace-tools ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn workspaces focus --production ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=30 diff --git a/scripts/upgrade b/scripts/upgrade index a4f6fd5..dbb3735 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -95,6 +95,7 @@ then ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn plugin import workspace-tools ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn workspaces focus --production ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=18 From 80b52db29537ef68284834ec34c8413802d3479b Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 16:25:43 +0100 Subject: [PATCH 06/16] Add swap file --- scripts/_common.sh | 95 +++++++++++++++++++++++++++++++++++++++++++++- scripts/install | 29 ++++++++++++++ scripts/upgrade | 31 ++++++++++++++- 3 files changed, 153 insertions(+), 2 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 0a02cf0..21222da 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -3,7 +3,7 @@ #================================================= # COMMON VARIABLES #================================================= -# dependencies used by the app (must be on a single line) +MEMORY_NEEDED="10240" NODEJS_VERSION=18 #================================================= @@ -14,6 +14,99 @@ NODEJS_VERSION=18 # EXPERIMENTAL HELPERS #================================================= +# Add swap +# +# usage: ynh_add_swap --size=SWAP in Mb +# | arg: -s, --size= - Amount of SWAP to add in Mb. +ynh_add_swap () { + # Declare an array to define the options of this helper. + declare -Ar args_array=( [s]=size= ) + local size + # Manage arguments with getopts + ynh_handle_getopts_args "$@" + + local swap_max_size=$(( $size * 1024 )) + + local free_space=$(df --output=avail / | sed 1d) + # Because we don't want to fill the disk with a swap file, divide by 2 the available space. + local usable_space=$(( $free_space / 2 )) + + SD_CARD_CAN_SWAP=${SD_CARD_CAN_SWAP:-0} + + # Swap on SD card only if it's is specified + if ynh_is_main_device_a_sd_card && [ "$SD_CARD_CAN_SWAP" == "0" ] + then + ynh_print_warn --message="The main mountpoint of your system '/' is on an SD card, swap will not be added to prevent some damage of this one, but that can cause troubles for the app $app. If you still want activate the swap, you can relaunch the command preceded by 'SD_CARD_CAN_SWAP=1'" + return + fi + + # Compare the available space with the size of the swap. + # And set a acceptable size from the request + if [ $usable_space -ge $swap_max_size ] + then + local swap_size=$swap_max_size + elif [ $usable_space -ge $(( $swap_max_size / 2 )) ] + then + local swap_size=$(( $swap_max_size / 2 )) + elif [ $usable_space -ge $(( $swap_max_size / 3 )) ] + then + local swap_size=$(( $swap_max_size / 3 )) + elif [ $usable_space -ge $(( $swap_max_size / 4 )) ] + then + local swap_size=$(( $swap_max_size / 4 )) + else + echo "Not enough space left for a swap file" >&2 + local swap_size=0 + fi + + # If there's enough space for a swap, and no existing swap here + if [ $swap_size -ne 0 ] && [ ! -e /swap_$app ] + then + # Preallocate space for the swap file, fallocate may sometime not be used, use dd instead in this case + if ! fallocate -l ${swap_size}K /swap_$app + then + dd if=/dev/zero of=/swap_$app bs=1024 count=${swap_size} + fi + chmod 0600 /swap_$app + # Create the swap + mkswap /swap_$app + # And activate it + swapon /swap_$app + # Then add an entry in fstab to load this swap at each boot. + echo -e "/swap_$app swap swap defaults 0 0 #Swap added by $app" >> /etc/fstab + fi +} + +ynh_del_swap () { + # If there a swap at this place + if [ -e /swap_$app ] + then + # Clean the fstab + sed -i "/#Swap added by $app/d" /etc/fstab + # Desactive the swap file + swapoff /swap_$app + # And remove it + rm /swap_$app + fi +} + +# Check if the device of the main mountpoint "/" is an SD card +# +# [internal] +# +# return 0 if it's an SD card, else 1 +ynh_is_main_device_a_sd_card () { + local main_device=$(lsblk --output PKNAME --noheadings $(findmnt / --nofsroot --uniq --output source --noheadings --first-only)) + + if echo $main_device | grep --quiet "mmc" && [ $(tail -n1 /sys/block/$main_device/queue/rotational) == "0" ] + then + return 0 + e +lse + return 1 + fi +} + #================================================= # FUTURE OFFICIAL HELPERS #================================================= \ No newline at end of file diff --git a/scripts/install b/scripts/install index 993fc81..f07f112 100755 --- a/scripts/install +++ b/scripts/install @@ -48,6 +48,24 @@ ynh_script_progression --message="Storing installation settings..." --weight=1 ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url +#================================================= +# ADD SWAP IF NEEDED +#================================================= +#https://github.com/zwave-js/zwave-js-ui/issues/2699 +ynh_script_progression --message="Adding swap if needed for compiling..." + +total_memory=$(ynh_get_ram --total) +swap_needed=0 + +if [ $total_memory -lt $MEMORY_NEEDED ]; then + # Need a minimum of 2Go of memory + swap_needed=$(($MEMORY_NEEDED - $total_memory)) + ynh_script_progression --message="Adding $swap_needed Mo to swap..." + SD_CARD_CAN_SWAP=1 + ynh_add_swap --size=$swap_needed + +fi + #================================================= # STANDARD MODIFICATIONS #================================================= @@ -100,6 +118,10 @@ pushd "$final_path" ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn plugin import workspace-tools ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn workspaces focus --production ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 + #On slow/low memory system, yarn silently fails with a 0 return code and nothing seems to be doable about that so far. + #relaunching yarn install seems to do the trick for raspberry at least as it resumes from where it fails + #https://github.com/yarnpkg/berry/issues/3996 + #https://github.com/yarnpkg/berry/issues/5065 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 @@ -114,7 +136,14 @@ chmod -R o-rwx "$final_path" chown -R $app: "$final_path" +#================================================= +# REMOVE ADDITIONNAL SWAP +#================================================= +ynh_script_progression --message="Remove additionnal swap..." --weight=2 +if [ $swap_needed > 0 ]; then + ynh_del_swap +fi #================================================= # NGINX CONFIGURATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index dbb3735..3009b88 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -55,7 +55,22 @@ ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app #================================================= #ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 -# +#================================================= +# ADD SWAP IF NEEDED +#================================================= +#https://github.com/zwave-js/zwave-js-ui/issues/2699 +ynh_script_progression --message="Adding swap if needed for compiling..." + +total_memory=$(ynh_get_ram --total) +swap_needed=0 + +if [ $total_memory -lt $MEMORY_NEEDED ]; then + # Need a minimum of 2Go of memory + swap_needed=$(($MEMORY_NEEDED - $total_memory)) + ynh_script_progression --message="Adding $swap_needed Mo to swap..." + SD_CARD_CAN_SWAP=1 + ynh_add_swap --size=$swap_needed +fi #================================================= # CREATE DEDICATED USER @@ -95,6 +110,10 @@ then ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn plugin import workspace-tools ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn workspaces focus --production ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 + #On slow/low memory system, yarn silently fails with a 0 return code and nothing seems to be doable about that so far. + #relaunching yarn install seems to do the trick for raspberry at least as it resumes from where it fails + #https://github.com/yarnpkg/berry/issues/3996 + #https://github.com/yarnpkg/berry/issues/5065 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn install --network-timeout 1000000000 ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 @@ -110,6 +129,16 @@ then fi +#================================================= +# REMOVE ADDITIONNAL SWAP +#================================================= +ynh_script_progression --message="Remove additionnal swap..." --weight=2 + +if [ $swap_needed > 0 ]; then + ynh_del_swap +fi + + #================================================= # NGINX CONFIGURATION #================================================= From 0668ef11369be886505d8edb2d16c38d00cc9834 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 16:26:43 +0100 Subject: [PATCH 07/16] MEMORY_NEEDED=2048 --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 21222da..972675b 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -3,7 +3,7 @@ #================================================= # COMMON VARIABLES #================================================= -MEMORY_NEEDED="10240" +MEMORY_NEEDED="2048" NODEJS_VERSION=18 #================================================= From 61d06b9dd9fa00cb6edb4a2c7d7d9564400e4ea8 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 16:46:42 +0100 Subject: [PATCH 08/16] remove swap file --- scripts/remove | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/remove b/scripts/remove index e947c2a..1554df4 100755 --- a/scripts/remove +++ b/scripts/remove @@ -64,6 +64,16 @@ ynh_script_progression --message="Removing app main directory..." --weight=1 # Remove the app directory securely ynh_secure_remove --file="$final_path" + +#================================================= +# REMOVE ADDITIONNAL SWAP +#================================================= +#In case install or upgrade went wrong, remove script is launched, so we need to ensure additional swap is deleted +if [ -e /swap_$app ]; then + ynh_script_progression --message="Remove additionnal swap..." --weight=2 + ynh_del_swap +fi + #================================================= # REMOVE NGINX CONFIGURATION #================================================= From 864d04f02bb998d8349d22b11c8d7051419eef52 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 17:03:52 +0100 Subject: [PATCH 09/16] set space size to 4096 --- scripts/install | 3 ++- scripts/upgrade | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index f07f112..25a7e17 100755 --- a/scripts/install +++ b/scripts/install @@ -126,7 +126,8 @@ pushd "$final_path" ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=30 - ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn run build + #https://geeklearning.io/angular-aot-webpack-memory-trick/ + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH NODE_OPTIONS=--max-old-space-size=4096 yarn run build ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 popd diff --git a/scripts/upgrade b/scripts/upgrade index 3009b88..a0480c4 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -118,7 +118,8 @@ then ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=18 - ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn run build + #https://geeklearning.io/angular-aot-webpack-memory-trick/ + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH NODE_OPTIONS=--max-old-space-size=4096 yarn run build ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 popd From 19a94ae4be25cf92da6dcdd4654be13631232606 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 17:22:27 +0100 Subject: [PATCH 10/16] set space size to 2048 --- scripts/install | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 25a7e17..0f83ce6 100755 --- a/scripts/install +++ b/scripts/install @@ -127,7 +127,7 @@ pushd "$final_path" ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=30 #https://geeklearning.io/angular-aot-webpack-memory-trick/ - ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH NODE_OPTIONS=--max-old-space-size=4096 yarn run build + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH NODE_OPTIONS=--max-old-space-size=2048 yarn run build ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 popd diff --git a/scripts/upgrade b/scripts/upgrade index a0480c4..67f6baf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -119,7 +119,7 @@ then ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 ynh_script_progression --message="Building Yarn dependencies... This can be very long, be patient !" --weight=18 #https://geeklearning.io/angular-aot-webpack-memory-trick/ - ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH NODE_OPTIONS=--max-old-space-size=4096 yarn run build + ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH NODE_OPTIONS=--max-old-space-size=2048 yarn run build ynh_script_progression --message="Cleaning cache... " --weight=3 ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH yarn cache clean 2>&1 popd From f7ac326808d2b1aed69a4e77f2fcd09891a842f9 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 17:45:32 +0100 Subject: [PATCH 11/16] Update documentation --- doc/DESCRIPTION.md | 2 +- doc/DESCRIPTION_fr.md | 3 +-- doc/DISCLAIMER.md | 4 +--- doc/DISCLAIMER_fr.md | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index 4179b38..eea1393 100644 --- a/doc/DESCRIPTION.md +++ b/doc/DESCRIPTION.md @@ -1,4 +1,3 @@ -**!! WORK IN PROGRESS !! - DO NOT INSTALL YET** ### Features @@ -7,5 +6,6 @@ Integrate zwave-js-ui natively in Domoticz_ynh. **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require **domoticz** with **mqtt broker Mosquitto** installed. Please refer to [domoticz package for Yunohost](https://github.com/YunoHost-Apps/domoticz_ynh) for more information about how to set up domoticz and Mosquitto. +You may also install both app separatly. This app may also be usable with [Home-Assistant package](https://github.com/YunoHost-Apps/homeassistant_ynh) but I never tested it. \ No newline at end of file diff --git a/doc/DESCRIPTION_fr.md b/doc/DESCRIPTION_fr.md index 3358908..735ed30 100644 --- a/doc/DESCRIPTION_fr.md +++ b/doc/DESCRIPTION_fr.md @@ -1,6 +1,4 @@ -**!! EN COURS DE CONSTRUCTION !! - NE PAS INSTALLER** - ### Fonctionnalités Intègre zwave-js-ui dans domoticz_ynh de façon native. @@ -8,5 +6,6 @@ Intègre zwave-js-ui dans domoticz_ynh de façon native. **Zwave-JS-UI**, aussi connu sous le nom de ZWaveJS2MQTT, est un remplaçant pour Openzwave. Il permet d'exposer les terminaux Z-Wave à un broker MQTT de façon complètement configurable. Pour fonctionner correctement, cette application nécessite d'avoir **domoticz** avec le **broker MQTT mosquitto** d'également installés. Veuillez vous reporter au [paquet domoticz pour Yunohost](https://github.com/YunoHost-Apps/domoticz_ynh) afin d'obtenir plus d'information sur comment le faire. +Vous pouvez également installer les deux applications séparément. Cette application fonctionne également peut-être avec [le paquet Home-Assistant](https://github.com/YunoHost-Apps/homeassistant_ynh) mais je ne l'ai jamais testée. \ No newline at end of file diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index b4d2fbe..f83cbec 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,6 +1,4 @@ -**!! WORK IN PROGRESS !! - DO NOT INSTALL YET** - -For now, although the package is fully functional (install, remove, backup, restore...), it is not yet integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. +For now, although the package is fully functional (install, remove, backup, restore...), it is not integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. \ No newline at end of file diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index ccf5bfd..c73b0c1 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,5 +1,4 @@ -**!! EN COURS DE CONSTRUCTION !! - NE PAS INSTALLER** -Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas encore intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. \ No newline at end of file +Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. \ No newline at end of file From 7b9a3b11e1c1fbaa0e42a9d83b5a9395efdda430 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 26 Nov 2022 16:45:36 +0000 Subject: [PATCH 12/16] Auto-update README --- README.md | 7 ++----- README_fr.md | 6 ++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 34c5934..0d11b8e 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,6 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -**!! WORK IN PROGRESS !! - DO NOT INSTALL YET** ### Features @@ -24,6 +23,7 @@ Integrate zwave-js-ui natively in Domoticz_ynh. **Zwave-JS-UI**, also known under previous name ZWaveJS2MQTT, is a replacement for Openzwave. It exposes Z-Wave devices to an MQTT broker in a fully configurable manner. To work correctly, this app require **domoticz** with **mqtt broker Mosquitto** installed. Please refer to [domoticz package for Yunohost](https://github.com/YunoHost-Apps/domoticz_ynh) for more information about how to set up domoticz and Mosquitto. +You may also install both app separatly. This app may also be usable with [Home-Assistant package](https://github.com/YunoHost-Apps/homeassistant_ynh) but I never tested it. @@ -32,11 +32,8 @@ This app may also be usable with [Home-Assistant package](https://github.com/Yun -**!! WORK IN PROGRESS !! - DO NOT INSTALL YET** - -For now, although the package is fully functional (install, remove, backup, restore...), it is not yet integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. - +For now, although the package is fully functional (install, remove, backup, restore...), it is not integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. ## Documentation and resources * Official app website: diff --git a/README_fr.md b/README_fr.md index b2da8d7..0578a8e 100644 --- a/README_fr.md +++ b/README_fr.md @@ -16,8 +16,6 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour ## Vue d'ensemble -**!! EN COURS DE CONSTRUCTION !! - NE PAS INSTALLER** - ### Fonctionnalités Intègre zwave-js-ui dans domoticz_ynh de façon native. @@ -25,6 +23,7 @@ Intègre zwave-js-ui dans domoticz_ynh de façon native. **Zwave-JS-UI**, aussi connu sous le nom de ZWaveJS2MQTT, est un remplaçant pour Openzwave. Il permet d'exposer les terminaux Z-Wave à un broker MQTT de façon complètement configurable. Pour fonctionner correctement, cette application nécessite d'avoir **domoticz** avec le **broker MQTT mosquitto** d'également installés. Veuillez vous reporter au [paquet domoticz pour Yunohost](https://github.com/YunoHost-Apps/domoticz_ynh) afin d'obtenir plus d'information sur comment le faire. +Vous pouvez également installer les deux applications séparément. Cette application fonctionne également peut-être avec [le paquet Home-Assistant](https://github.com/YunoHost-Apps/homeassistant_ynh) mais je ne l'ai jamais testée. @@ -33,9 +32,8 @@ Cette application fonctionne également peut-être avec [le paquet Home-Assistan -**!! EN COURS DE CONSTRUCTION !! - NE PAS INSTALLER** -Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas encore intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. +Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. ## Documentations et ressources * Site officiel de l'app : From 4a23f1f75c1bc7540a56b3b9ed2561b4a7a9d064 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 17:50:07 +0100 Subject: [PATCH 13/16] Update documentation --- doc/DISCLAIMER.md | 5 ++++- doc/DISCLAIMER_fr.md | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index f83cbec..2c933ac 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,4 +1,7 @@ -For now, although the package is fully functional (install, remove, backup, restore...), it is not integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. \ No newline at end of file +For now, although the package is fully functional (install, remove, backup, restore...), it is not integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. + + +During install, the whole app need to be recompile using yarn, this lead to long installation time. Also, a temporary swap file will be created if less than 2Gb of memory (RAM+Swap) are available : Be sure to have enough space on disk. \ No newline at end of file diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index c73b0c1..dc3eaa9 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,4 +1,6 @@ -Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. \ No newline at end of file +Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. + +Pendant l'installation, la totalité de l'application doit être recompilé en utilisant yarn : cela amène à des temps d'installation très long. Un fichier de swap temporaire sera créé si moins de 2Go de mémoire sont disponibles (RAM + swap): Assurez vous d'avoir suffisament d'espace disque. \ No newline at end of file From 4f40fb701bd38c2c96bc38ff62e4778e686d97e3 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 26 Nov 2022 16:50:34 +0000 Subject: [PATCH 14/16] Auto-update README --- README.md | 3 +++ README_fr.md | 2 ++ 2 files changed, 5 insertions(+) diff --git a/README.md b/README.md index 0d11b8e..ab4208f 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,9 @@ This app may also be usable with [Home-Assistant package](https://github.com/Yun For now, although the package is fully functional (install, remove, backup, restore...), it is not integrated with domoticz and mosquitto package, this means that all settings needs to be done manually from inside the app. + + +During install, the whole app need to be recompile using yarn, this lead to long installation time. Also, a temporary swap file will be created if less than 2Gb of memory (RAM+Swap) are available : Be sure to have enough space on disk. ## Documentation and resources * Official app website: diff --git a/README_fr.md b/README_fr.md index 0578a8e..5612171 100644 --- a/README_fr.md +++ b/README_fr.md @@ -34,6 +34,8 @@ Cette application fonctionne également peut-être avec [le paquet Home-Assistan Pour l'instant, bien que le package fonctionne (installation, désinstallation, sauvegarde, restauration...), il n'est pas intégré avec domoticz et mosquitto, les paramétrages doivent être fait manuellement depuis l'application. + +Pendant l'installation, la totalité de l'application doit être recompilé en utilisant yarn : cela amène à des temps d'installation très long. Un fichier de swap temporaire sera créé si moins de 2Go de mémoire sont disponibles (RAM + swap): Assurez vous d'avoir suffisament d'espace disque. ## Documentations et ressources * Site officiel de l'app : From 325f2c573b5a1a4b7372f741abd743ed823310b3 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 18:26:31 +0100 Subject: [PATCH 15/16] Add user to dialout/i2c/gpio --- scripts/install | 10 ++++++++++ scripts/restore | 10 ++++++++++ scripts/upgrade | 10 ++++++++++ 3 files changed, 30 insertions(+) diff --git a/scripts/install b/scripts/install index 0f83ce6..42149da 100755 --- a/scripts/install +++ b/scripts/install @@ -85,6 +85,16 @@ ynh_script_progression --message="Configuring system user..." --weight=1 # Create a system user ynh_system_user_create --username=$app --home_dir="$final_path" +if grep dialout -q < /etc/group; then + usermod -a -G dialout "$app" +fi +if grep i2c -q < /etc/group; then + usermod -a -G i2c "$app" +fi +if grep gpio -q < /etc/group; then + usermod -a -G gpio "$app" +fi + #================================================= # INSTALL EXTRA DEPENDENCIES diff --git a/scripts/restore b/scripts/restore index 21e2d1e..aa0db7b 100755 --- a/scripts/restore +++ b/scripts/restore @@ -50,6 +50,16 @@ 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" +if grep dialout -q < /etc/group; then + usermod -a -G dialout "$app" +fi +if grep i2c -q < /etc/group; then + usermod -a -G i2c "$app" +fi +if grep gpio -q < /etc/group; then + usermod -a -G gpio "$app" +fi + #================================================= # INSTALL EXTRA DEPENDENCIES #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 67f6baf..14977b2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -80,6 +80,16 @@ ynh_script_progression --message="Making sure dedicated system user exists..." - # Create a dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir="$final_path" +if grep dialout -q < /etc/group; then + usermod -a -G dialout "$app" +fi +if grep i2c -q < /etc/group; then + usermod -a -G i2c "$app" +fi +if grep gpio -q < /etc/group; then + usermod -a -G gpio "$app" +fi + #================================================= # UPGRADE DEPENDENCIES #================================================= From c1d2ab38feb8002a2f7c9dbc770bae3297ee4494 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 26 Nov 2022 18:27:21 +0100 Subject: [PATCH 16/16] Remove PrivateDevices&DevicePolicy --- conf/systemd.service | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/systemd.service b/conf/systemd.service index fbec2da..d0de7e9 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -19,11 +19,11 @@ StandardError=inherit # Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html NoNewPrivileges=yes PrivateTmp=yes -PrivateDevices=yes +#PrivateDevices=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 RestrictNamespaces=yes RestrictRealtime=yes -DevicePolicy=closed +#DevicePolicy=closed ProtectSystem=full ProtectControlGroups=yes ProtectKernelModules=yes