Automatic Updates - how to disable?

[details=“Support intro”]

Hi,

my NC is running in an Ubuntu focal LXD container. It applies minor updates automatically. I am getting the email from NC like:

Nextcloud 22.1.0 just became available. Since you are running Automatic Updates on Saturdays at 18:00, you don't need to bother about updating the server to minor Nextcloud versions manually, as that's already taken care of.

Sadly the last auto update failed. I assume it is because the host messed up its /etc/resolv.conf during update, so i got the mail:

An unhandled exception has been thrown:
TypeError: Return value of OC\Files\Type\Detection::loadCustomDefinitions() must be of the type array, null returned in /var/www/nextcloud/lib/private/Files/Type/Detection.php:145

which wouldnt be a big issue if I would have a more up to date snapshot. So now I want to disable future automatic updates, so I can make an lxc snapshot before any such update.

I wasnt able to find a hint where to do that in the docs, the admin settings, config.php or via search. In config.php I have no option set that includes the string udpate.

Can you point me to the place where the “saturday at 18:00” is defined and where the auto updates are enabled/disabled?

Nextcloud version 22.0.0
Operating system and version Ubuntu 20.04 in an LXD container on a Debian 10 host
Apache or nginx version Apache 2.4.41-4ubuntu3.4
PHP version 7.4

The output of config.php

<?php
$CONFIG = array (
  'passwordsalt' => 'BLABLABLA',
  'secret' => 'BLABLABLA',
  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => 'BLABLABLA',
    2 => 'BLABLABLA',
    3 => 'BLABLABLA',
    4 => 'BLABLABLA',
    5 => 'BLABLABLA',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
  'version' => '22.0.0.11',
  'overwrite.cli.url' => 'BLABLA',
  'dbname' => 'nextcloud_db',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'ncadmin',
  'dbpassword' => 'BLABLABLA',
  'installed' => true,
  'instanceid' => 'BLABLABLA',
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => '2',
  'log.condition' => 
  array (
    'apps' => 
    array (
      0 => 'admin_audit',
    ),
  ),
  'mail_smtpmode' => 'smtp',
  'remember_login_cookie_lifetime' => '1800',
  'log_rotate_size' => '10485760',
  'trashbin_retention_obligation' => 'auto, 180',
  'versions_retention_obligation' => 'auto, 365',
  'simpleSignUpLink.shown' => false,
  'filelocking.enabled' => true,
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.5,
    'dbindex' => 0,
    'password' => 'BLABLABLA',
  ),
  'logtimezone' => 'Europe/Berlin',
  'htaccess.RewriteBase' => '/',
  'share_folder' => '/Shared',
  'enable_previews' => true,
  'enabledPreviewProviders' => 
  array (
    0 => 'OC\\Preview\\PNG',
    1 => 'OC\\Preview\\JPEG',
    2 => 'OC\\Preview\\GIF',
    3 => 'OC\\Preview\\BMP',
    4 => 'OC\\Preview\\MarkDown',
    5 => 'OC\\Preview\\MP3',
    6 => 'OC\\Preview\\TXT',
    7 => 'OC\\Preview\\Movie',
    8 => 'OC\\Preview\\Photoshop',
    9 => 'OC\\Preview\\SVG',
    10 => 'OC\\Preview\\TIFF',
  ),
  'preview_max_x' => '2048',
  'preview_max_y' => '2048',
  'jpeg_quality' => '60',
  'maintenance' => false,
  'mail_from_address' => 'BLABLABLA',
  'mail_sendmailmode' => 'smtp',
  'mail_smtphost' => 'smtp.gmail.com',
  'mail_domain' => 'gmail.com',
  'mail_smtpsecure' => 'ssl',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtpport' => '465',
  'mail_smtpname' => 'BLABLABLA',
  'mail_smtppassword' => 'BLABLABLA',
  'has_rebuilt_cache' => true,
  'data-fingerprint' => 'BLABLABLA',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'theme' => '',
  'default_phone_region' => 'de',
  'updater.release.channel' => 'stable',
);

Hi @mreitschuster,
I have never used and seen this function in a manual installation … maybe this is due to your container.

In the config.php file you can disable the check for updates but it will only bypass the problem …

just add :
'updatechecker' => false,

maybe by reading the file config.sample.php you will find something interesting (this file lists all the possible parameters on your nextcloud instances, for them to be taken into account please add them in config.php)

Thanks @Mageunic. not sure what you mean with manual installation. I had setup a fresh ubuntu container and then used

https://raw.githubusercontent.com/nextcloud/vm/master/nextcloud_install_production.sh

to install

So I wasnt yet able to figure out how to disable.

But in the meantime I think i know what broke my NC after the update to 22.1.0, causing:

An unhandled exception has been thrown:
TypeError: Return value of OC\Files\Type\Detection::loadCustomDefinitions() must be of the type array, null returned in /var/www/nextcloud/lib/private/Files/Type/Detection.php:145

In
/var/www/nextcloud/config/mimetypemapping.json

the content was null
instead of just an empty file.

Once i emptied the file my NC would start again. So no need for me to roll back and migrate the file changes between the new (broken) snapshot and the old (working) version.

Still it would be good to know where to switch off the automatic updates.

Just run the following:
sudo bash /var/scripts/menu.sh → choose Server configuration → choose Automatic Updates → choose to deinstall.

3 Likes

Thank you @szaimen! Exactly what i was looking for!