======= Plugins ======= The DRC has a simple plugin architecture. Extra django apps can be installed as a plugin and enabled, even in a pre-built docker-image context. Configuration ============= Two environment variables are relevant: * ``PLUGINS``: a comma-separated list of app names. These are names that would typically go into an ``INSTALLED_APPS`` array. They must be valid python package/module names and be importable (see ``PLUGIN_DIRS``) * ``PLUGIN_DIRS``: optionally specify directories to be added to the python path. A typical use case would be to run the DRC container with a volume mount containing the plugins. Comma-separated list of paths. Plugin implementation considerations ==================================== Plugins are simply added to the list of ``INSTALLED_APPS``, at the end. Complex configurations where the order matters are currently not supported. No other settings are currently supported. To initialize the plugin, you can use Django's ``django.apps.AppConfig.ready`` hook. If you need configuration, consider using something like ``django-solo`` to store the configuration in the database instead of custom settings.