Netbox Plugin - Integrate Proxmox and Netbox
Project description
Proxbox
Proxbox is a NetBox plugin that synchronizes Proxmox infrastructure data into NetBox. It keeps your DCIM up-to-date with real Proxmox clusters, nodes, virtual machines, containers, and backups.
What It Does
Proxbox discovers and syncs the following from Proxmox into NetBox:
- Clusters and Nodes — Proxmox cluster and node information with resource monitoring
- Virtual Machines — VM status, resources, and configuration
- Containers (LXC) — Container details and settings
- VM Snapshots — Point-in-time snapshots for recovery
- VM Backups — Backup jobs and restore points
- Storage — Datastores and storage content
- Networking — VLANs, bridges, and IP assignments
New in v0.0.10: Cluster and node tracking with links to NetBox's native Cluster and Device objects, including quorum status and resource usage monitoring.
Sync runs on-demand from the NetBox UI or scheduled automatically via NetBox's job system.
Requirements
- NetBox 4.5.x
- Python 3.12+
- Proxmox VE 7.x or 8.x
- Proxbox API backend (see below)
Quick Start
Choose the installation path that matches your NetBox deployment:
- Standard NetBox install (venv on host): follow steps below.
- NetBox Docker install (
netbox-docker): use the Docker-specific workflow in Installing the Plugin in Docker-Based NetBox Deployments.
-
Install the plugin into your NetBox virtual environment (host/venv deployment):
cd /opt/netbox/netbox git clone https://github.com/netdevopsbr/netbox-proxbox.git source /opt/netbox/venv/bin/activate pip install -e ./netbox-proxbox
-
Enable the plugin in
netbox/netbox/configuration.py:PLUGINS = ["netbox_proxbox"]
-
Run migrations and collect static files:
python3 manage.py migrate netbox_proxbox python3 manage.py collectstatic --no-input sudo systemctl restart netbox
-
Install the Proxbox API backend:
mkdir -p /opt/proxbox-api cd /opt/proxbox-api python3 -m venv venv source venv/bin/activate pip install proxbox-api uvicorn proxbox_api.main:app --host 0.0.0.0 --port 8800
Or use Docker (the published image runs nginx on port 8000 inside the container, in front of uvicorn):
docker run -d --name proxbox-api -p 8800:8000 emersonfelipesp/proxbox-api:latest
HTTPS with mkcert (optional): the backend also publishes
emersonfelipesp/proxbox-api:latest-mkcert(and:<version>-mkcert). nginx terminates TLS there (mkcert certs) onPORT(default 8000); add more certificate names or IPs withMKCERT_EXTRA_NAMES(comma- or space-separated). Example:docker run -d --name proxbox-api-tls \ -p 8800:8000 \ -e MKCERT_EXTRA_NAMES='proxbox.backend.local' \ emersonfelipesp/proxbox-api:latest-mkcert
Point your NetBox ProxBox API endpoint at
https://<host>:8800(or your mapped port). Trust the mkcert root on clients if needed; see the proxbox-api README for build flags,CAROOT, and details. -
Configure endpoints in NetBox:
- Go to Plugins > Proxbox
- Create a Proxmox API endpoint (your Proxmox host URL and token)
- Create a NetBox API endpoint (your NetBox URL and token)
- Create a ProxBox API endpoint (the backend from step 4)
-
Run your first sync:
Click Full Update on the Proxbox home page. Progress appears in real-time.
NetBox Docker Install Option
If your NetBox runs with netbox-community/netbox-docker, install the plugin through the Docker plugin files in your NetBox Docker project:
-
Add plugin requirements to
plugin_requirements.txt(PyPI or Git):netbox-proxbox # or # netbox-proxbox @ git+https://github.com/netdevopsbr/netbox-proxbox.git
-
Enable the plugin in
configuration/plugins.py:PLUGINS = ["netbox_proxbox"]
-
Rebuild and restart NetBox:
docker compose build docker compose up -d
-
Run migrations in the NetBox container:
docker compose exec netbox /opt/netbox/netbox/manage.py migrate
For complete Docker installation instructions, validation checks, and Git/source install examples, see docs/installation/3-installing-plugin-docker.md.
Scheduled Sync
To run sync automatically on a schedule:
-
Start the NetBox RQ worker with the Proxbox queue:
cd /opt/netbox/netbox source /opt/netbox/venv/bin/activate python3 manage.py rqworker
-
In NetBox, go to Proxbox > Schedule Sync and configure your schedule.
Documentation
Full documentation is available at emersonfelipesp.github.io/netbox-proxbox.
Key pages:
Community
- GitHub Discussions: https://github.com/orgs/netdevopsbr/discussions
- Discord: https://discord.gg/X6FudvXW
- Telegram: https://t.me/netboxbr
Contributing
See DEVELOP.md for development setup and contribution guidelines.
Support the Project
If Proxbox has been useful for you, consider supporting the project on GitHub Sponsors:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_proxbox-0.0.10.tar.gz.
File metadata
- Download URL: netbox_proxbox-0.0.10.tar.gz
- Upload date:
- Size: 4.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a939a72f0355b9ce087ada771f560d4967cb44477b01c53d64cd8b00eb269aef
|
|
| MD5 |
452de6ce44b6b2f7e247d9000d9a26c7
|
|
| BLAKE2b-256 |
99b124cc2f53e0ef9fca4c84ee043d1334c2d4056b80ba03937d0d8a1711c6f5
|
File details
Details for the file netbox_proxbox-0.0.10-py3-none-any.whl.
File metadata
- Download URL: netbox_proxbox-0.0.10-py3-none-any.whl
- Upload date:
- Size: 3.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a890f8e4ba0923b2d1064053a393d5c955c91863964f568ba62fa9d9ba0648d0
|
|
| MD5 |
e2d61955cafbcf4fe0c6524d9ed3675d
|
|
| BLAKE2b-256 |
93a5f939d653b26d5ca7464abb8e2c35f9c2cd19aca03b85bcc63a620be84be9
|