@@ -22,6 +22,8 @@ set -eE
2222VER=" $1 "
2323BIN=" ${0##*/ } "
2424
25+ source /usr/local/etc/library.sh
26+
2527# pre-checks
2628# ###################
2729[[ " $VER " == " " ]] && { echo " Usage ${BIN} <version>" ; exit 1; }
6163
6264echo " Current Nextcloud version $CURRENT "
6365echo " Available Nextcloud version $VER "
64- [[ " $NEED_UPDATE " == " true" ]] || { echo " Nothing to update" ; exit 1 ; }
66+ [[ " $NEED_UPDATE " == " true" ]] || { echo " Nothing to update" ; exit ; }
6567
6668# make sure that cron.php is not running and there are no pending jobs
6769# https://github.com/nextcloud/server/issues/10949
@@ -159,7 +161,8 @@ rollback() {
159161 echo -e " Abort\nClean up..."
160162 rm -rf /var/www/nextcloud.tar.bz2 " $BASEDIR " /nextcloud-old
161163 echo " Rolling back to backup $BKP ..."
162- local TMPDATA=" $( mktemp -d " /var/www/ncp-data.XXXXXX" ) " || { echo " Failed to create temp dir" >&2 ; exit 1; }
164+ local TMPDATA
165+ TMPDATA=" $( mktemp -d " /var/www/ncp-data.XXXXXX" ) " || { echo " Failed to create temp dir" >&2 ; exit 1; }
163166 [[ " $DATADIR " == " $BASEDIR /nextcloud/data" ]] && mv -T " $DATADIR " " $TMPDATA "
164167 ncp-restore " $BKP " || { echo " Rollback failed! Data left at $TMPDATA " ; exit 1; }
165168 [[ " $DATADIR " == " $BASEDIR /nextcloud/data" ]] && { rm -rf " $DATADIR " ; mv -T " $TMPDATA " " $DATADIR " ; }
@@ -186,6 +189,50 @@ $ncc | grep -q db:add-missing-columns && $ncc db:add-missing-columns -n
186189$ncc | grep -q db:add-missing-primary-keys && $ncc db:add-missing-primary-keys -n
187190$ncc | grep -q db:convert-filecache-bigint && $ncc db:convert-filecache-bigint -n
188191
192+
193+ # use the correct version for custom apps
194+ NCVER=" $( ncc status | grep " version:" | awk ' { print $3 }' ) "
195+ if is_more_recent_than " 21.0.0" " ${NCVER} " ; then
196+ NCPREV=/var/www/ncp-previewgenerator/ncp-previewgenerator-nc20
197+ else
198+ # Install notify_push if not installed
199+ if ! is_app_enabled notify_push; then
200+ ncc app:install notify_push
201+ ncc app:enable notify_push
202+ bash /usr/local/etc/ncp-templates/nextcloud.conf.sh > /etc/apache2/sites-available/nextcloud.conf
203+ a2enmod proxy proxy_http proxy_wstunnel
204+ apachectl -k graceful
205+ # # make sure the notify_push daemon is runnnig
206+
207+ arch=" $( uname -m) "
208+ [[ " ${arch} " =~ " armv7" ]] && arch=" armv7"
209+ cat > /etc/systemd/system/notify_push.service << EOF
210+ [Unit]
211+ Description = Push daemon for Nextcloud clients
212+ After = mysql.service
213+
214+ [Service]
215+ Environment = PORT=7867
216+ ExecStart = /var/www/nextcloud/apps/notify_push/bin/"${arch} "/notify_push --allow-self-signed /var/www/nextcloud/config/config.php
217+ User=www-data
218+
219+ [Install]
220+ WantedBy = multi-user.target
221+ EOF
222+ start_notify_push
223+ nc_domain=" $( ncc config:system:get overwrite.cli.url) "
224+ set-nc-domain " ${nc_domain} " || {
225+ echo " notify_push setup failed. You are probably behind a proxy"
226+ echo " Run 'ncc config:system:set trusted_proxies 15 --value=<proxy_IP>' and then 'ncc notify_push:setup https://<domain>/push to enable"
227+ echo " Check https://help.nextcloud.com/tags/ncp for support"
228+ }
229+
230+ fi
231+ NCPREV=/var/www/ncp-previewgenerator/ncp-previewgenerator-nc21
232+ fi
233+ rm -rf /var/www/nextcloud/apps/previewgenerator
234+ ln -snf " ${NCPREV} " /var/www/nextcloud/apps/previewgenerator
235+
189236# done
190237# ###################
191238mkdir -p " $DATADIR " /ncp-update-backups
0 commit comments