From 1d661b3287efd3973dcff79e958afb2b774ba85d Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Thu, 16 Jan 2025 23:54:55 +0100 Subject: [PATCH] Fixes for AlpinePHPTool: *Added crontab configuration to the script for FreshRSS and Nextcloud CT's *Added ProxmoxUpdateScript configuration to the script for Nextcloud CT --- CT-Files/freshrss/Configs/crontab | 2 +- CT-Files/freshrss/Scripts/Init.sh | 3 -- CT-Files/nextcloud/Configs/crontab | 1 + CT-Files/nextcloud/Scripts/FirstRun.sh | 36 ++++++++++++---------- CT-Files/nextcloud/Scripts/Init.sh | 1 - CT-Files/nextcloud/Scripts/PTKAppUpdate.sh | 3 +- Scripts/AlpinePHPTool.sh | 28 ++++++++++++++++- 7 files changed, 50 insertions(+), 24 deletions(-) create mode 100644 CT-Files/nextcloud/Configs/crontab diff --git a/CT-Files/freshrss/Configs/crontab b/CT-Files/freshrss/Configs/crontab index 82536bf..054c013 100644 --- a/CT-Files/freshrss/Configs/crontab +++ b/CT-Files/freshrss/Configs/crontab @@ -1 +1 @@ -27,57 * * * * php83 /opt/freshrss/app/actualize_script.php 2>> /proc/1/fd/2 > /tmp/FreshRSS.log \ No newline at end of file +27,57 * * * * phpPHPver /opt/freshrss/app/actualize_script.php 2>> /proc/1/fd/2 > /tmp/FreshRSS.log \ No newline at end of file diff --git a/CT-Files/freshrss/Scripts/Init.sh b/CT-Files/freshrss/Scripts/Init.sh index b514855..313a74e 100644 --- a/CT-Files/freshrss/Scripts/Init.sh +++ b/CT-Files/freshrss/Scripts/Init.sh @@ -8,9 +8,6 @@ mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf ash /opt/Setup/Scripts/PHPTool.sh -d freshrss || exit 1 rm /opt/Setup/Scripts/PHPTool.sh -#Configure Cron -mv /opt/Setup/Configs/crontab /etc/crontabs/nginx - #Install freshrss mkdir -p /opt/freshrss wget https://github.com/FreshRSS/FreshRSS/tarball/latest -O /tmp/freshrss.tar.gz diff --git a/CT-Files/nextcloud/Configs/crontab b/CT-Files/nextcloud/Configs/crontab new file mode 100644 index 0000000..0edf28c --- /dev/null +++ b/CT-Files/nextcloud/Configs/crontab @@ -0,0 +1 @@ +*/5 * * * * phpPHPver -f /opt/nextcloud/cron.php > /dev/null 2>&1 \ No newline at end of file diff --git a/CT-Files/nextcloud/Scripts/FirstRun.sh b/CT-Files/nextcloud/Scripts/FirstRun.sh index 1e069da..e290592 100644 --- a/CT-Files/nextcloud/Scripts/FirstRun.sh +++ b/CT-Files/nextcloud/Scripts/FirstRun.sh @@ -18,24 +18,26 @@ if [ $ThisScriptConfigured = no ]; then echo "Script is not configured" exit fi -sudo -u nginx php83 /opt/nextcloud/occ maintenance:install --database mysql --database-name "$MysqlDatabase" --database-host "$MysqlIP" --database-port "$MysqlPort" --database-user "$MysqlUsername" --database-pass "$MysqlPassword" --database-table-space "" --admin-user "$NextcloudUsername" --admin-pass "$NexcloudPassword" --data-dir /var/nextcloud +sudo -u nginx phpPHPver /opt/nextcloud/occ maintenance:install --database mysql --database-name "$MysqlDatabase" --database-host "$MysqlIP" --database-port "$MysqlPort" --database-user "$MysqlUsername" --database-pass "$MysqlPassword" --database-table-space "" --admin-user "$NextcloudUsername" --admin-pass "$NexcloudPassword" --data-dir /var/nextcloud sed -n -i '/#SetupBlockStart/{:a;N;/#SetupBlockEnd/!ba;N;s/.*//};p' /etc/nginx/nginx.conf service nginx reload -sudo -u nginx php83 /opt/nextcloud/occ db:convert-filecache-bigint -sudo -u nginx php83 /opt/nextcloud/occ db:add-missing-indices -#sudo -u nginx php83 /opt/nextcloud/occ app:disable firstrunwizard -sudo -u nginx php83 /opt/nextcloud/occ config:system:set default_language --value=nl -sudo -u nginx php83 /opt/nextcloud/occ config:system:set default_locale --value=nl -sudo -u nginx php83 /opt/nextcloud/occ config:system:set default_phone_region --value=nl -sudo -u nginx php83 /opt/nextcloud/occ config:system:set skeletondirectory --value= -sudo -u nginx php83 /opt/nextcloud/occ config:system:set memcache.local --value='\OC\Memcache\APCu' -sudo -u nginx php83 /opt/nextcloud/occ config:system:set trashbin_retention_obligation --value=30,30 -sudo -u nginx php83 /opt/nextcloud/occ config:system:set memcache.distributed --value='\OC\Memcache\Redis' -sudo -u nginx php83 /opt/nextcloud/occ config:system:set memcache.locking --value='\OC\Memcache\Redis' -sudo -u nginx php83 /opt/nextcloud/occ config:system:set redis host --value=localhost -sudo -u nginx php83 /opt/nextcloud/occ config:system:set redis port --value=6379 -sudo -u nginx php83 /opt/nextcloud/occ config:system:set trusted_domains 1 --value="$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" -sudo -u nginx php83 /opt/nextcloud/occ config:system:set overwrite.cli.url --value="$NextcloudWebProto://$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" -sudo -u nginx php83 /opt/nextcloud/occ config:system:set overwriteprotocol --value="$NextcloudWebProto" \ No newline at end of file +sudo -u nginx phpPHPver /opt/nextcloud/occ db:convert-filecache-bigint +sudo -u nginx phpPHPver /opt/nextcloud/occ db:add-missing-indices +#sudo -u nginx phpPHPver /opt/nextcloud/occ app:disable firstrunwizard +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set default_language --value=nl +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set default_locale --value=nl +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set default_phone_region --value=nl +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set skeletondirectory --value= +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set memcache.local --value='\OC\Memcache\APCu' +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set trashbin_retention_obligation --value=30,30 +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set memcache.distributed --value='\OC\Memcache\Redis' +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set memcache.locking --value='\OC\Memcache\Redis' +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set redis host --value=localhost +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set redis port --value=6379 +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set trusted_domains 1 --value="$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set overwrite.cli.url --value="$NextcloudWebProto://$(ifconfig | grep -A 1 'eth0' | tail -1 | cut -d ':' -f 2 | cut -d ' ' -f 1)" +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set overwriteprotocol --value="$NextcloudWebProto" +sudo -u nginx phpPHPver /opt/nextcloud/occ config:system:set maintenance_window_start --type=integer --value=2 +sudo -u nginx phpPHPver /opt/nextcloud/occ occ maintenance:repair --include-expensive \ No newline at end of file diff --git a/CT-Files/nextcloud/Scripts/Init.sh b/CT-Files/nextcloud/Scripts/Init.sh index 778deff..81de277 100644 --- a/CT-Files/nextcloud/Scripts/Init.sh +++ b/CT-Files/nextcloud/Scripts/Init.sh @@ -17,7 +17,6 @@ tar jxf /opt/Setup/nextcloud.tar.bz2 -C /opt/nextcloud --strip 1 rm -rf /opt/Setup/nextcloud.tar.bz2 chown -R nginx:nginx /opt/nextcloud chown -R nginx:nginx /var/nextcloud -echo "*/5 * * * * php83 -f /opt/nextcloud/cron.php > /dev/null 2>&1" >> /etc/crontabs/nginx #Enable services on boot rc-update add nginx rc-update add valkey \ No newline at end of file diff --git a/CT-Files/nextcloud/Scripts/PTKAppUpdate.sh b/CT-Files/nextcloud/Scripts/PTKAppUpdate.sh index 34ba2b4..f829839 100644 --- a/CT-Files/nextcloud/Scripts/PTKAppUpdate.sh +++ b/CT-Files/nextcloud/Scripts/PTKAppUpdate.sh @@ -1,3 +1,4 @@ #!/bin/sh # Update script for updating apps with ProxmoxHelper/ProxMoxToolKit -sudo -u nginx php83 /opt/nextcloud/updater/updater.phar --no-interaction \ No newline at end of file +CurPHP=phpPHPver +sudo -u nginx $CurPHP /opt/nextcloud/updater/updater.phar --no-interaction \ No newline at end of file diff --git a/Scripts/AlpinePHPTool.sh b/Scripts/AlpinePHPTool.sh index 998ff6c..25a1951 100644 --- a/Scripts/AlpinePHPTool.sh +++ b/Scripts/AlpinePHPTool.sh @@ -101,6 +101,7 @@ run_Purge() { OldPHPVer=$(grep php /etc/apk/world -m 1|sed -e "s/\-.*//" -e "s/php//") #Create Backup an its location if [[ ! -d "/opt/PHPCfgBackup/" ]];then mkdir -p "/opt/PHPCfgBackup"; fi + if [[ -f /etc/crontabs/nginx ]]; then cp /etc/crontabs/nginx /opt/PHPCfgBackup/crontabs-nginx; fi tar -czf "/opt/PHPCfgBackup/PHP$OldPHPVer-Config.tar.gz" -C "/etc/php$OldPHPVer" ./ rm -rf "/etc/php$OldPHPVer" @@ -126,17 +127,36 @@ run_Install() { #Unique settings for configuration case $config in nextcloud) - echo runnig distrobuilder #Configure Php-Cli sed -i '/memory_limit =/c\memory_limit = 512M' /etc/php$NewPHPVer/php.ini echo "apc.enable_cli=1" >> /etc/php$NewPHPVer/php.ini + if [[ -f /opt/ProxMoxToolKitAppUpdate.sh ]]; then + sed -i "/CurPHP=/c\CurPHP=php$NewPHPVer" /opt/ProxMoxToolKitAppUpdate.sh + fi ;; esac + #Configure Cron + if test -f $configStore/crontab; then + sed -i -e 's/PHPver/'$NewPHPVer'/g' $configStore/crontab + mv $configStore/crontab /etc/crontabs/nginx + fi + #Enable service(s) on boot rc-update add php-fpm$NewPHPVer } +run_DistrobuilderOnly() { + #Do things only required when setting up using distrobuilder + ##Unique settings for configuration + case $config in + nextcloud) + sed -i -e "s/phpPHPver/php$NewPHPVer/g" /opt/Setup/Scripts/FirstRun.sh #Update FirstRun setup + sed -i -e "s/phpPHPver/php$NewPHPVer/g" /opt/Setup/Scripts/PTKAppUpdate.sh #Update nextcloud update script + ;; + esac +} + fetch_Config() { #Unique settings for configuration case $config in @@ -147,6 +167,11 @@ fetch_Config() { *) wget "$gitRepo"/raw/branch/"$gitBranch"/CT-Files/$config/Configs/php.conf -O /tmp/php.conf || echo_exit "ERROR: Config download failed" wget "$gitRepo"/raw/branch/"$gitBranch"/CT-Files/"$config"/Configs/php.pkglist -O /tmp/php.pkglist || echo_exit "ERROR: Config download failed" + #Check if crontab conf exists,if so get it + if wget -q --method=HEAD "$gitRepo"/raw/branch/"$gitBranch"/CT-Files/$config/Configs/crontab; + then + wget "$gitRepo"/raw/branch/"$gitBranch"/CT-Files/"$config"/Configs/crontab -O /tmp/crontab || echo_exit "ERROR: Config download failed" + fi ;; esac @@ -156,6 +181,7 @@ case $mode in distrobuilder) #Set config location configStore=/opt/Setup/Configs + run_DistrobuilderOnly run_Install ;; fresh)