New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate core plugins and "user" plugins #12988

crazy-max opened this Issue May 24, 2018 · 2 comments


None yet
3 participants
Copy link

crazy-max commented May 24, 2018


I'm here about an issue concerning plugins path. This comes from matomo-org/docker#89 and matomo-org/docker#97.

Today all plugins (including core ones) are written in /var/www/plugins folder. On a load balanced environment you said to add multi_server_environment=1 in the config and next you said :

it will then not allow the installation of a plugin via the UI (or the plugin would be only installed on one server), or it will not allow config file changes from the UI (as the config file would be updated on one server only)

It's a major issue for me and i think this can be solved with a new feature. We should separate core plugins (included in piwik archive) and user plugins. Nextcloud uses this trick to be able to persist plugins folder on Docker. On Nextcloud you can have this config :

array (
    0 =>
    array (
      'path' => '/var/www/apps',
      'url' => '/apps',
      'writable' => false,
    1 =>
    array (
      'path' => '/data/userapps',
      'url' => '/userapps',
      'writable' => true,

This way user apps will be written in /data/userapps and plugins are listed from /var/www/apps (core) and /data/userapps (user).

And it's an issue on Docker too (specially on Swarm or k8s). We cannot persist the folder /var/www/plugins because on image update this folder will have core plugins from the previous version of the image.


This comment has been minimized.

Copy link

tsteur commented May 25, 2018

Sorry I'm not quite getting how a different location would solve a problem? I doubt we will make this change as it would be quite a big refactoring going on for quite a while. How is plugins different to core, or third party plugins? Can it not persist writeable directories? FYI: Even certain paths like misc/user, /js and other paths need to be writeable will they be a problem as well?

I don't know how that docker is being built, but can you start a docker image and deploy the code from a git repository or something? Or also persist the user plugins or load them on demand etc?


This comment has been minimized.

Copy link

mattab commented May 31, 2018

We won't do this AFAIK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment