📦 NetBox
Description
NetBox is a network source of truth and IP address management (IPAM/DCIM) platform.
It is used to model and document networks, including IP address space, VLANs, devices, racks, and connections.
NetBox provides a clean web UI and API to manage infrastructure data and is often used as the central inventory system for network and infrastructure automation.
Website
Kubernetes Notes
- Requires persistent storage for:
- database (PostgreSQL)
- media files (uploads, reports, scripts)
- Requires:
- PostgreSQL database
- Redis (cache + background jobs)
- Multiple components:
- web (Django app)
- worker (background jobs / rq)
- Needs proper initialization (migrations + superuser)
- Can be exposed via Ingress with TLS
- Environment variables are critical for configuration
- Use readiness/liveness probes carefully (startup can take time)
- Not horizontally scalable without careful tuning
🔌 Custom Container with Plugins
The official NetBox image does not include additional plugins by default.
To support required functionality, we build a custom container image with the desired plugins pre-installed.
Why
- Ensure reproducible deployments
- Avoid installing plugins at runtime
- Keep NetBox instances immutable and version-controlled
- Simplify upgrades and rollbacks
How it works
We extend the official NetBox image and install plugins during build time.
Example:
FROM ghcr.io/netbox-community/netbox:latest
USER root
# Install plugins
RUN pip install \
netbox-topology-views \
netbox-plugin-dns
USER netbox