Syntax fix and linting

This commit is contained in:
Tomislav Kopić 2024-03-06 06:48:53 +00:00
parent be18d2162d
commit beb6207e59

View File

@ -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}"