In a standard install, Discourse (and therefore, plugins) are running inside a docker container. That container does not have complete access to the host filesystem, so it can’t access the host’s /var/discourse
directory to modify app.yml
or run launcher
.
And even if it could… there’s a bit of a circular dependency here. Running ./launcher rebuild
would kill the docker container… which would kill the launcher rebuild
which you started from the plugin
There are potential solutions here. e.g. adding additional docker volume mounts, so that the config/launcher can be accessed from within the container. But it’s not trivial.
IIRC someone once made a ‘plugin manager’ plugin… which required some tweaks to the app.yml to add things like the volume mount. But I can’t find any topics about it now, so I assume it’s no longer maintained. Perhaps someone else can share a link if they can find it? (or maybe it was all a dream )
On the CDCK side, we definitely err towards using themes when we want customers to be able to install/update/uninstall at will. Allowing people to arbitrarily install plugins isn’t an option, because that would affect other customers running on the same server.