Plugins are packaged Django apps that can be installed alongside NetBox to provide custom functionality not present in the core application. Plugins can introduce their own models and views, but cannot interfere with existing components. A NetBox user may opt to install plugins provided by the community or build his or her own.
Plugins are supported on NetBox v2.8 and later.
The NetBox plugin architecture allows for the following:
/plugins root path to provide browsable views for users.PLUGINS_CONFIG in configuration.py.Either by policy or by technical limitation, the interaction of plugins with NetBox core is restricted in certain ways. A plugin may not:
/plugins root. All plugin URLs are restricted to this path to prevent path collisions with core or other plugins.The instructions below detail the process for installing and enabling a NetBox plugin.
Download and install the plugin package per its installation instructions. Plugins published via PyPI are typically installed using pip. Be sure to install the plugin within NetBox's virtual environment.
$ source /opt/netbox/venv/bin/activate
(venv) $ pip install <package>
Alternatively, you may wish to install the plugin manually by running python setup.py install. If you are developing a plugin and want to install it only temporarily, run python setup.py develop instead.
In configuration.py, ensure the PLUGINS_ENABLED parameter is set to True:
PLUGINS_ENABLED = True
If the plugin requires any configuration, define it in configuration.py under the PLUGINS_CONFIG parameter. The available configuration parameters should be detailed in the plugin's README file.
PLUGINS_CONFIG = {
'plugin_name': {
'foo': 'bar',
'buzz': 'bazz'
}
}
Restart the WSGI service to load the new plugin:
# sudo systemctl restart netbox