From beb6207e59f6efedfd6d10f0b0a1851edf6a2f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomislav=20Kopi=C4=87?= Date: Wed, 6 Mar 2024 06:48:53 +0000 Subject: [PATCH] Syntax fix and linting --- nextcloud_Install.sh | 89 ++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/nextcloud_Install.sh b/nextcloud_Install.sh index a330211..cbd6033 100644 --- a/nextcloud_Install.sh +++ b/nextcloud_Install.sh @@ -22,7 +22,6 @@ setupNextcloud() { apt-get upgrade -y apt-get -y install apt-transport-https lsb-release ca-certificates curl sudo wget zip hdparm failCheck "while installing basics, please check output above for more info" - DISTRO=$(lsb_release -si) RELEASE=$(lsb_release -sc) if [[ -d /etc/udev/rules.d/ ]]; then @@ -37,37 +36,37 @@ setupNextcloud() { PHPTHREADS=1 fi TOTALMEM=$(grep MemTotal /proc/meminfo | awk '{print $2}') - TOTALMEM=$((${TOTALMEM}/1024)) + TOTALMEM=$((TOTALMEM/1024)) ROUNDED=1 while [ ${ROUNDED} -lt ${TOTALMEM} ]; do - ROUNDED=$((${ROUNDED} * 2)) + ROUNDED=$((ROUNDED*2)) done if [[ ${TOTALMEM} -gt 400 ]]; then - PHPTHREADS=$((${PHPTHREADS}*2)) + PHPTHREADS=$((PHPTHREADS*2)) fi - PHPMEM=$((${ROUNDED}/2)) - OVERDRIVE=$((${ROUNDED}/1024)) + PHPMEM=$((ROUNDED/2)) + OVERDRIVE=$((ROUNDED/1024)) if [[ ${OVERDRIVE} -gt 8 ]]; then OVERDRIVE=8 fi - DBMEM=$((${PHPMEM}/4)) - DBTEMPBUFF=$((${DBMEM}/16)) - DBWORKMEM=$((${DBTEMPBUFF}/2)) - REDISMEM=$((${DBMEM}/4)) + DBMEM=$((PHPMEM/4)) + DBTEMPBUFF=$((DBMEM/16)) + DBWORKMEM=$((DBTEMPBUFF/2)) + REDISMEM=$((DBMEM/4)) if [[ ${PHPMEM} -lt 128 ]]; then PHPMEM="128" fi if [[ ${PHPMEM} -gt 1024 ]]; then - PHPTHREADS=$(($PHPTHREADS+$((${OVERDRIVE}*2)))) - DBMEM=$((256*${OVERDRIVE})) - DBTEMPBUFF=$((${DBMEM}/32)) - DBWORKMEM=$((${DBTEMPBUFF}/2)) - REDISMEM=$((${DBMEM}/8)) + PHPTHREADS=$((PHPTHREADS+$((OVERDRIVE*2)))) + DBMEM=$((256*OVERDRIVE)) + DBTEMPBUFF=$((DBMEM/32)) + DBWORKMEM=$((DBTEMPBUFF/2)) + REDISMEM=$((DBMEM/8)) PHPMEM="1024" fi - THMEM=$((${PHPMEM}+$((${PHPMEM}/2))+$((${PHPMEM}/32))+${REDISMEM}+${DBMEM}+${DBWORKMEM}+${DBTEMPBUFF})) - MAXUSERS=$((${THMEM}*${PHPTHREADS})) - MAXUSERS=$((${MAXUSERS}/1786)) + THMEM=$((PHPMEM+$((PHPMEM/2))+$((PHPMEM/32))+REDISMEM+DBMEM+DBWORKMEM+DBTEMPBUFF)) + MAXUSERS=$((THMEM*PHPTHREADS)) + MAXUSERS=$((MAXUSERS/1786)) if [[ -d /nextcloud/ ]]; then echo "It seems that NextCloud is already installed? Please review and remove /nextcloud/ to continue" @@ -108,9 +107,9 @@ setupNextcloud() { echo "H4sIAAAAAAAAA31SS0sDMRC+51f04LXNWqRowUPBwhZcXWpvpYS4Gd1gXubRVn+9SdatskUvYb/XZHYmWwVH3wgd2A4hwZ0HNbodYRsUNq3BWakoVxOnm7dvw0QfFNhoO2V74dXqYKJwOBzGjHra81IziHQxmxUIBTcIn6WQkRFqxUBSxSKaSHokTcsFs7m/uqw35ToJzlPrSay4B+uiMs1urogz1MIv4bIvMxSmvWDhPYDz2VwURaKN1Q04RzgTQDyXoINP8nXhEGpaxtOPYIRA7bfl49PmYVEtd5G66EFWNlWdSOylwT1xt1oPuOXQVS82ZWaCs1johgrsnrma/8In+CPkjw7GA8UlEsrSQPZUBNgGIzRlJF5CYve5/GkROA2/u38YkyC1/SCCS+5TqFpW96vqr+ppmi9cgOOfkNxXxc2sGp25XRwt1/Fp0T2QNm5aQO7IAuPuf7ehvk3WoPhxjnF+rznWneNuvd2j/QKMme9C4wIAAA==" | base64 -d | gunzip > /etc/php/8.2/fpm/pool.d/cloud.conf sed -i "s/PHPTHR/${PHPTHREADS}/g" /etc/php/8.2/fpm/pool.d/cloud.conf sed -i "s/MEMLIM/${PHPMEM}M/g" /etc/php/8.2/fpm/pool.d/cloud.conf - sed -i "s/opcache.memory_consumption=64/opcache.memory_consumption=$((${PHPMEM}/4))/g" /etc/php/8.2/fpm/conf.d/99-nextcloud.ini - sed -i "s/apc.shm_size = 128M/apc.shm_size = $((${PHPMEM}/4))M/g" /etc/php/8.2/fpm/conf.d/99-nextcloud.ini - sed -i "s/opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=$((${PHPMEM}/32))/g" /etc/php/8.2/fpm/conf.d/99-nextcloud.ini + sed -i "s/opcache.memory_consumption=64/opcache.memory_consumption=$((PHPMEM/4))/g" /etc/php/8.2/fpm/conf.d/99-nextcloud.ini + sed -i "s/apc.shm_size = 128M/apc.shm_size = $((PHPMEM/4))M/g" /etc/php/8.2/fpm/conf.d/99-nextcloud.ini + sed -i "s/opcache.interned_strings_buffer=8/opcache.interned_strings_buffer=$((PHPMEM/32))/g" /etc/php/8.2/fpm/conf.d/99-nextcloud.ini service php8.2-fpm restart failCheck "while starting PHP8.2 process, please check output above for more info" @@ -125,7 +124,8 @@ setupNextcloud() { failCheck "while starting Nginx process, please check output above for more info" echo "Setting up PostgreSQL" - export DBPASS=$(openssl rand -base64 16) + DBPASS=$(openssl rand -base64 16) + export DBPASS export DBNAME="nextclouddb" export DBUSER="nextcloud" apt-get install -y postgresql @@ -133,15 +133,15 @@ setupNextcloud() { failCheck "while installing PostgreSQL, please check output above for more info" POSTGRESPATH=$(find /etc/postgresql/ -name postgresql.conf) POSTGRESHBAPATH=$(find /etc/postgresql/ -name pg_hba.conf) - sed -i "s/shared_buffers = 128MB/shared_buffers = ${DBMEM}MB/g" ${POSTGRESPATH} - sed -i "s/#work_mem = 4MB/work_mem = ${DBWORKMEM}MB/g" ${POSTGRESPATH} - sed -i "s/#maintenance_work_mem = 64MB/maintenance_work_mem = ${DBWORKMEM}MB/g" ${POSTGRESPATH} - sed -i "s/#temp_buffers = 8MB/temp_buffers = ${DBTEMPBUFF}MB/g" ${POSTGRESPATH} - sed -i "s/#effective_cache_size = 4GB/effective_cache_size = ${PHPMEM}MB/g" ${POSTGRESPATH} - sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '127.0.0.1'/g" ${POSTGRESPATH} - SWITCHEROO=$(cat ${POSTGRESHBAPATH}) - echo "local ${DBNAME} ${DBUSER} md5" > ${POSTGRESHBAPATH} - echo "${SWITCHEROO}" >> ${POSTGRESHBAPATH} + sed -i "s/shared_buffers = 128MB/shared_buffers = ${DBMEM}MB/g" "${POSTGRESPATH}" + sed -i "s/#work_mem = 4MB/work_mem = ${DBWORKMEM}MB/g" "${POSTGRESPATH}" + sed -i "s/#maintenance_work_mem = 64MB/maintenance_work_mem = ${DBWORKMEM}MB/g" "${POSTGRESPATH}" + sed -i "s/#temp_buffers = 8MB/temp_buffers = ${DBTEMPBUFF}MB/g" "${POSTGRESPATH}" + sed -i "s/#effective_cache_size = 4GB/effective_cache_size = ${PHPMEM}MB/g" "${POSTGRESPATH}" + sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '127.0.0.1'/g" "${POSTGRESPATH}" + SWITCHEROO=$(cat "${POSTGRESHBAPATH}") + echo "local ${DBNAME} ${DBUSER} md5" > "${POSTGRESHBAPATH}" + echo "${SWITCHEROO}" >> "${POSTGRESHBAPATH}" service postgresql restart failCheck "while starting PostgreSQL process, please check output above for more info" echo "CREATE USER ${DBUSER} WITH PASSWORD '${DBPASS}'; CREATE DATABASE ${DBNAME} TEMPLATE template0 ENCODING 'UNICODE'; ALTER DATABASE ${DBNAME} OWNER TO ${DBUSER}; GRANT ALL PRIVILEGES ON DATABASE ${DBNAME} TO ${DBUSER};" | sudo -u postgres psql -d template1 @@ -153,15 +153,16 @@ if [[ ${UID} != 0 ]]; then exit fi -cd /root/ +cd /root/ || exit echo "Installing Nextcloud on your machine" setupNextcloud clear echo "Installing Nextcloud database" chmod +x /nextcloud/occ -export ADMPASS=$(openssl rand -hex 16) -sudo -u nextcloud /nextcloud/occ maintenance:install --database pgsql --database-name ${DBNAME} --database-host /run/postgresql --database-user ${DBUSER} --database-pass ${DBPASS} --admin-user admin --admin-pass ${ADMPASS} +ADMPASS=$(openssl rand -hex 16) +export ADMPASS +sudo -u nextcloud /nextcloud/occ maintenance:install --database pgsql --database-name "${DBNAME}" --database-host /run/postgresql --database-user "${DBUSER}" --database-pass "${DBPASS}" --admin-user admin --admin-pass "${ADMPASS}" sleep 3 if (grep "'installed' => true," /nextcloud/config/config.php); then echo "Installation complete!" @@ -177,9 +178,9 @@ fi echo "Optimizing" sed -i '$ d' /nextcloud/config/config.php echo "H4sIAAAAAAAAA32TYY/TMAyGv9+v6LcKCdbuDiEkBBI7YAJpUMEJncRQlTXeFi5NgpN23b/HiwtlGqEfqtbPW8d+XWdZLjcO0CsfwIQ8e/kqC9jB46uMCGxFp0Pt9tZAjbBT1kRFvlzkUfHDwa7+2QmtwpHJs5IJGLHRUDuEXsHBnydmKCuGFdpeSaohir6RgK/80+16lKwXqyrmvSTL9+8S5EP1dplAX76myErgwxt7MClc3aQINQEJVn1MHXd3f5cg9wsVWuEi/R5dG72sWzHUA7s9L8vR77/h8X/QN4LmshVNsBh18/JM01jTdIhgmmMttI6Sm6TCwIGTXJzTQmuRK5lfP49Y252GHjjn09+hrdLABRe9wIIihYEhNNp2ckZv3AKla0SzB4pQA6xfk12rMb5+Xd12l9IHZXb/EH8GqTyrMT6e/Xn53npahdMVy8LOFFHG9ycesAeceUo/DS93FqePyikuN8pIoIH98YnjQbVgu8Dx62nMAVonFcJpQOMkJ0MKKYIoQusKrv5k3tjmbNyq81Xz4D2tLW2vFgPIGganxrRboT2JHr24+gWXXa/TBgQAAA==" | base64 -d | gunzip >> /nextcloud/config/config.php -sed -i "s/'preview_max_memory' => 128,/'preview_max_memory' => $((${PHPMEM}/2)),/g" /nextcloud/config/config.php -sed -i "s/'preview_concurrency_all' => 3,/'preview_concurrency_all' => $((${NUMCORES}*2)),/g" /nextcloud/config/config.php -sed -i "s/'preview_concurrency_new' => 1,/'preview_concurrency_new' => $((${NUMCORES}/2)),/g" /nextcloud/config/config.php +sed -i "s/'preview_max_memory' => 128,/'preview_max_memory' => $((PHPMEM/2)),/g" /nextcloud/config/config.php +sed -i "s/'preview_concurrency_all' => 3,/'preview_concurrency_all' => $((NUMCORES*2)),/g" /nextcloud/config/config.php +sed -i "s/'preview_concurrency_new' => 1,/'preview_concurrency_new' => $((NUMCORES/2)),/g" /nextcloud/config/config.php echo "Adding Cronjob" echo "*/5 * * * * php --define apc.enable_cli=1 -f /nextcloud/cron.php" > /tmp/cron echo "*/10 * * * * php --define apc.enable_cli=1 -f /nextcloud/occ preview:pre-generate" >> /tmp/cron @@ -198,9 +199,9 @@ nextcloud config:app:set activity activity_expire_days --value 365 nextcloud db:add-missing-indices echo "Installing additional apps" APPS=(previewgenerator calendar contacts mail notes) -for APP in ${APPS[@]}; do +for APP in "${APPS[@]}"; do echo "installing ${APP} app" - nextcloud app:install ${APP} + nextcloud app:install "${APP}" done GREEN='\033[0;32m' BLUE='\033[0;34m' @@ -214,15 +215,15 @@ echo -e " ${YELLOW}${TOTALMEM}MB${NC} RAM" echo -e "${GREEN}Calculated Optimal Values:${NC}" echo -e " ${YELLOW}${PHPTHREADS}${NC} PHP threads" echo -e " ${YELLOW}${PHPMEM}MB ${NC}PHP memory limit" -echo -e " ${YELLOW}$((${PHPMEM}/4))MB${NC} PHP opcache memory limit" -echo -e " ${YELLOW}$((${PHPMEM}/4))MB${NC} PHP APCu cache size" -echo -e " ${YELLOW}$((${PHPMEM}/32))MB${NC} PHP opcache string buffer" +echo -e " ${YELLOW}$((PHPMEM/4))MB${NC} PHP opcache memory limit" +echo -e " ${YELLOW}$((PHPMEM/4))MB${NC} PHP APCu cache size" +echo -e " ${YELLOW}$((PHPMEM/32))MB${NC} PHP opcache string buffer" echo -e " ${YELLOW}${DBMEM}MB${NC} PostgreSQL shared buffers" echo -e " ${YELLOW}${DBWORKMEM}MB${NC} PostgreSQL working memory" echo -e " ${YELLOW}${DBTEMPBUFF}MB${NC} PostgreSQL temporary buffer" echo -e " ${YELLOW}${REDISMEM}MB${NC} Redis memory limit" -echo -e " ${YELLOW}$((${PHPMEM}/2))MB${NC} preview generator memory limit" -echo -e " ${YELLOW}$((${NUMCORES}*2))${NC} preview generator concurrency" +echo -e " ${YELLOW}$((PHPMEM/2))MB${NC} preview generator memory limit" +echo -e " ${YELLOW}$((NUMCORES*2))${NC} preview generator concurrency" echo -e "" echo -e "${YELLOW}Additional Information:${NC}" echo -e " Theoretical peak memory usage: ${YELLOW}${THMEM}MB${NC}"