HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: //var/packages/Spreadsheet/scripts/set-nodejs-env
#!/bin/sh

TOTAL_MEM=$(/bin/awk '/MemTotal/ { print $2 }' /proc/meminfo)
if [ -n "$TOTAL_MEM" ]; then
	MEM=$(/bin/python -c "print('%d' % max(round($TOTAL_MEM * 0.8 / 1024), 1024))")
	/bin/grep -w lm -q /proc/cpuinfo
	IS_64BIT=$?
	if [ "$MEM" -ge 2048 ] && [ "$IS_64BIT" -ne 0 ]; then
		# should be less than 2048
		MEM=2000
	fi
	V8_OPTIONS="--max_old_space_size=$MEM"
fi

CPU_COUNT="$(( $(/usr/bin/nproc --all) ))"
CPU_COUNT="$(( CPU_COUNT / 4))"
CPU_COUNT="$(( CPU_COUNT > 20 ? 20 : CPU_COUNT ))"
CPU_COUNT="$(( CPU_COUNT < 4 ? 4 : CPU_COUNT ))"

SYNO_PRODUCT="$(/bin/get_key_value /etc.defaults/synoinfo.conf syno_product)"

echo \
"NODE_PACKAGE=Node.js_v20
V8_OPTIONS=$V8_OPTIONS
UV_THREADPOOL_SIZE=$CPU_COUNT
SYNO_PRODUCT=$SYNO_PRODUCT
" > /var/packages/Spreadsheet/etc/nodejs_environment