NextCloud Update: Difference between revisions
From WikiMLT
Line 24: | Line 24: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Bring all together | === Bring all together === | ||
<syntaxhighlight lang="shell" class="code-continue mlw-shell-gray"> | |||
/usr/local/bin/cloud-update-platform.sh | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line="1" class="code-continue mlw-shell-gray"> | |||
#!/bin/bash | |||
: ${NC_ROOT:="/var/www/cloud.metalevel.tech"} # The DocumentRoot directory of the wiki | |||
: ${NC_OWNER:="www-data"} # The user that owns the $IP directory | |||
LOG_FILE=$(cat "${NC_ROOT}/config/config.php" | grep -0 logfile | sed -r 's/^.*=>\s+['\''"](.*)['\''"].*$/\1/') | |||
# Update the NextCloud platform itself | |||
NC_ROOT | sudo -u "${NC_OWNER}" \ | ||
php --define apc.enable_cli=1 "${NC_ROOT}/updater/updater.phar" | |||
NC_OWNER | # Update all apps | ||
sudo -u "${NC_OWNER}" \ | |||
php --define apc.enable_cli=1 "${NC_ROOT}/occ" app:update --all | |||
# Add the missing database indexes: | |||
sudo -u "${NC_OWNER}" \ | |||
php --define apc.enable_cli=1 "${NC_ROOT}/occ" db:add-missing-indices | |||
sudo -u "${NC_OWNER}" rm "$LOG_FILE" | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 11:21, 24 February 2024
Using the command line based updater
Update the NextCloud app itself – the command can also be used to complete a stuck web update.
NC_ROOT="/var/www/cloud.metalevel.tech"
NC_OWNER="www-data"
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/updater/updater.phar"
In order to update all apps from CLI use:
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/occ" app:update --all
Further you may need to add the missing database indexes:
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/occ" db:add-missing-indices
Bring all together
/usr/local/bin/cloud-update-platform.sh
#!/bin/bash
: ${NC_ROOT:="/var/www/cloud.metalevel.tech"} # The DocumentRoot directory of the wiki
: ${NC_OWNER:="www-data"} # The user that owns the $IP directory
LOG_FILE=$(cat "${NC_ROOT}/config/config.php" | grep -0 logfile | sed -r 's/^.*=>\s+['\''"](.*)['\''"].*$/\1/')
# Update the NextCloud platform itself
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/updater/updater.phar"
# Update all apps
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/occ" app:update --all
# Add the missing database indexes:
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/occ" db:add-missing-indices
sudo -u "${NC_OWNER}" rm "$LOG_FILE"
References
- NextCloud Docs: Using the web based updater | Finish via command line based upgrade
- NextCloud Docs: Using the command line based updater
- NextCloud Docs: Using the
occ
command
Handle some issues
Helper scripts to debug a broken application
Output the enabled applications to a file.
sudo -u "${NC_OWNER}" \
php --define apc.enable_cli=1 "${NC_ROOT}/occ" app:list | \
sed '/^Disabled:/,$d' | sed -E 's/^\s+-\s(.*):.*$/\1/' | sed '/^Enabled/d' \
> ~/tmp/nc.enabled-apps.txt
Disable (or attempt to) the enabled apps.
while IFS= read -r EXT; \
do \
sudo -u "${NC_OWNER}" php --define apc.enable_cli=1 "${NC_ROOT}/occ" app:disable "$EXT"; \
done < ~/tmp/nc.enabled-apps.txt
Enable (or attempt to) the previously enabled apps.
#!/usr/bin/zsh
while IFS= read -r EXT; \
do \
read -s -k "?Press Enter to enable: ${EXT}"; echo; \
sudo -u "${NC_OWNER}" php --define apc.enable_cli=1 "${NC_ROOT}/occ" app:enable "$EXT"; \
done < ~/tmp/nc.enabled-apps.txt
Web worker issue temporary solution
- NC 27.1.1: https://github.com/nextcloud/server/issues/39849#issuecomment–1677883083 : Currently I've added
$policy->addAllowedWorkerSrcDomain('\'self\'');
on line 323 inapps/files/lib/Controller/ViewController.php
.