Jan 30. 2019 · by Helge Sverre

How to disable Craft CMS updates

If you're building your Craft CMS site locally and pushing it to production with a continious integration/delivery pipeline (Like Laravel Forge, Buddy Works or whatever else), it might be smart to disable the ability to update plugins and the CMS from the admin panel (which behind the scenes changes the composer.json file), and rather do those changes in development and push the composer.lock file to the server.

There are of course some configuration options you can change in your Craft site to do this.

In the config/general.php file, you can enter the allowUpdates key and set it to false in your "production" environment configuration like so:

config/general.php
PHP
<?php 

return [
    // Global settings
    '*' => [
        //  Stuff here...
    ],

    // Dev environment settings
    'dev' => [
        // Dev stuff here...
    ],

    // Staging environment settings
    'staging' => [
        // Staging stuff here...
    ],

    // Production environment settings
    'production' => [
        // The secret sauce, disable updates in production!
        'allowUpdates' => false
    ],
];

Here is the documentation link to that config option.

Sadly this does not prevent the "Updates are available" notification from showing up in the Control Panel, but it will prevent users from seeing the "Update now" button.

Maybe in a future version we can also hide the update indicator itself.