-
-
Notifications
You must be signed in to change notification settings - Fork 918
Using Netbox Plugins
To utilise plugins that have been created by users within the Netbox Community a custom image must be used.
Lets start with a fresh install of netbox-docker.
git clone -b release https://github.com/netbox-community/netbox-docker.git
- Change
/env/netbox.env
to your required settings. - Create a few files these are (
plugin_requirements.txt
,Dockerfile-Plugins
,docker-compose.override.yml
)
The plugin_requirements.txt
file needs to contain all the plugins that are required.
ntc-netbox-plugin-onboarding
NOTE: These must be on PyPi to work.
To get plugins to work within Netbox you need to add some configuration to configuration.py
.
PLUGINS = ["netbox_onboarding"]
# PLUGINS_CONFIG = {
# "netbox_onboarding": {
# ADD YOUR SETTINGS HERE
# }
# }
NOTE: This can differ for every plugin. To learn more about this see the Netbox documentation.
The new Dockerfile-Plugins
will enable us to build a new image with the required plugins installed.
FROM netboxcommunity/netbox:latest
copy ./plugin_requirements.txt /
RUN pip install --no-warn-script-location -r /plugin_requirements.txt
NOTE: You can swap the image out to use any of the images that the Netbox-Docker community publishes to Docker Hub. For example if LDAP is required, swap out
netboxcommunity/netbox:latest
fornetboxcommunity/netbox:latest-ldap
.
NOTE: From version 0.28.0 the Python environment for Netbox is installed into a virtual environment located at
/opt/netbox/venv
. Because of this theRUN
command from above must be change toRUN /opt/netbox/venv/bin/pip install -r /plugin_requirements.txt
docker-compose.override.yml
, as its name implies, can contain configuration overrides for existing services or entirely new services.
version: '3.4'
services:
nginx:
ports:
- 8000:8080
netbox:
build:
context: .
dockerfile: Dockerfile-Plugins
image: netbox:latest-plugins
netbox-worker:
image: netbox:latest-plugins
This configuration will change the ports NGINX
will use. It will also select the build file created in previous steps and tell the netbox-worker
service to now use the new image (netbox:latest-plugins) that has been created.
NOTE: From version 0.28.0 the Nginx container is not used anymore. The port mapping must be configured for the Netbox service.
To build and deploy this in docker two commands are required.
docker-compose build --no-cache
docker-compose up -d