Skip to content

NocoBase 0.14: New plugin manager, supports adding plugins through UI

Posted on:September 11, 2023 at 08:22 AM

This release enables plug-and-play plugins in production environments. You can now add plugins directly through the UI, and support downloading from the npm registry (which can be private), local uploads, and URL downloads.

New features

New plugin manager interface

Uploaded plugins are located in the storage/plugins directory.

The storage/plugins directory is used to upload plugins, and is organized as npm packages.

|- /storage/
  |- /plugins/
    |- /@nocobase/
      |- /plugin-hello1/
      |- /plugin-hello2/
    |- /@foo/
      |- /bar/
    |- /my-nocobase-plugin-hello/

Plugin updates

Currently, only plugins under storage/plugins can be updated, as shown here:

Note: In order to facilitate maintenance and upgrading, and to avoid unavailability of the storage plugins due to upgrading, you can put the new plugin directly into storage/plugins and then perform the upgrade operation.

Incompatible changes

Changes to plugin names

Improvements to pm.add

# Use packageName instead of pluginName, lookup locally, error if not found
pm add packageName

# Download from remote only if registry is provided, can also specify version
pm add packageName --registry=xx --auth-token=yy --version=zz

# You can also provide a local zip, add multiple times and replace it with the last one
pm add /a/

# Remote zip, replace it with the same name
pm add http://url/

Nginx configuration changes

Add /static/plugins/ location

server {
    location ^~ /static/plugins/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        proxy_read_timeout 600;
        send_timeout 600;

More see full version of nocobase.conf

Plugin development guide

Develop the first plugin