r/Netbox

Proxbox: NetBox plugin for syncing Proxmox VE inventory into NetBox
▲ 39 r/Netbox+1 crossposts

Proxbox: NetBox plugin for syncing Proxmox VE inventory into NetBox

Hello NetBox community,

I’d like to share an open-source project I maintain: Proxbox, a NetBox plugin for synchronizing Proxmox VE infrastructure data into NetBox.

The goal is simple: keep NetBox updated with inventory data from real Proxmox environments, so Proxmox clusters, nodes, VMs, containers, storage, backups, snapshots, interfaces, and IP addresses can be reflected inside NetBox.

Current capabilities include:

  • Proxmox cluster and node inventory
  • VM and LXC container synchronization
  • Storage and virtual disk synchronization
  • Network interfaces and IP address discovery
  • VM backups and snapshots
  • Backup routines / vzdump schedules
  • Replication jobs
  • HA status visibility
  • VM task history
  • VM cloud-init data
  • Scheduled sync through NetBox background jobs
  • Real-time sync progress through SSE
  • Separate FastAPI backend: proxbox-api
  • Support for Proxmox VE 7.x, 8.x, and 9.x
  • Support for NetBox 4.5.x and 4.6.x

A few clarifications:

  • Proxbox is focused on inventory synchronization and discovery.
  • It does not try to replace the Proxmox VE UI.
  • Metrics such as CPU, memory, and uptime are captured as point-in-time data during sync, not as continuous monitoring.
  • For Proxmox VE 9, the API role needs VM.GuestAgent.Audit if you want VM IP discovery through the QEMU guest agent.

The project uses a separate backend service, proxbox-api, which talks to Proxmox and NetBox. The NetBox plugin stores the endpoint configuration and triggers sync jobs from the NetBox UI.

I’m sharing it here because Proxmox + NetBox is a common gap for people who want better infrastructure inventory, especially in environments where NetBox is already used as the source of truth for DCIM/IPAM.

Feedback, issues, and contributions are welcome.

u/emersonfelipesp — 5 days ago
▲ 8 r/Netbox

Netbox Site/Location hierarchy best practices for multi-site organization with mixed complexity

We're setting up Netbox for the first time to replace an Excel-based infrastructure tracker. Looking for feedback on our proposed hierarchy before we start entering data.

Our environment:

  • ~30-40 sites of varying complexity ranging from a single room with one device up to multi-building campuses with multiple IDFs
  • Sites are loosely grouped into 3 organizational districts (not network-significant)
  • Most larger sites have a Fortigate as the primary gateway with FortiSwitches and Ubiquiti APs
  • Smaller remote locations use cellular routers (Cradlepoint) as their sole gateway
  • Some larger parks have two completely independent networks each with their own ISP circuit and gateway device
  • VLANs are mostly consistent across sites

Proposed hierarchy:

  • Site Groups = organizational districts (3 total, not network-significant)
  • Sites = one per ISP circuit + gateway device, regardless of size or complexity. A single room with a Cradlepoint and its own cellular circuit is a Site just like a multi-building campus with a Fortigate
  • Locations = always at least one Location per Site since devices are assigned at Location level not Site level. For Sites with multiple buildings, the building is the first level Location with sub-locations beneath it for specific spaces like IDFs, reception areas, or other rooms. Example: Building A (parent) → IDF (child), Reception (child), Storage Room (child)

Specific questions:

  1. Is "one ISP circuit + one gateway device = one Site" a good rule of thumb?
  2. Should we always create at least one Location under every Site even for single-device Sites?
  3. Is using the building as the parent Location with specific spaces (IDF, rooms) as child Locations the right approach, or should the IDF be the top level Location with everything else subordinate to it?
  4. Any gotchas with this approach we should know about before entering data?
reddit.com
u/P_R_woker — 7 days ago
▲ 5 r/Netbox

API via PyNetBox will process GET but not POST (create)

My code is as seen below. This initial block will print the correct information so I know my API connection is working (and the API token, not shown, has Write permissions enabled within the web interface). However, the attempt to create a new device entry passes with a <200> code, but the print result is just blank. There is also no change in the web interface to reflect the creation of the device through this script. Using version 4.2.2 of NetBox with the newest version of PyNetBox. Any assistance would be greatly appreciated, thanks!

EDIT: Thanks to user TyphonVirtus for suggesting that POST requests require your NetBox URL to be pointed to HTTPS instead of just HTTP. This solved my issue! Thank you to everyone who took the time to leave a helpful comment!

#----------------------------------------------------------------
# Get Specific VM by ID
#----------------------------------------------------------------
vmID = 2069
vm = nb.virtualization.virtual_machines.get(id=vmID)
print(f"Virtual Machine - {vm}")
print(f"VM NetBox ID - {vm.id}")
print(f"VM NetBox Serial # - {vm.serial}")
print(f"Primary IPv4 - {vm.primary_ip4}")

#--------------------------------------------------------
# Create new Device entry
#--------------------------------------------------------
new_device = nb.dcim.devices.create(
    name='new-test-device',
    device_type='1',
    site='1',
    device_role='1',
    status='active'
)
print(new_device)
reddit.com
u/DarkDuel — 7 days ago
▲ 5 r/Netbox

newbie question - pull specific image

I finally got my good instructions on how to install netbox docker. I then wanted to install Diode plugin. I got that done and found that the netbox docker pulled v4.6. And the diode plugin only wokss on v4.5 as of now.

How do I pull the v4.5 version?

When I go to pull down the image, I:

  1. clone the NetBox Docker Repository "git clone -b release https://github.com/netbox-community/netbox-docker.git"
  2. Create and update the "docker-compose.override.yml" file to set the port

&#8203;

"tee docker-compose.override.yml &lt;&lt;EOF services: netbox: ports: - 8000:8080 EOF"

How do I change it to only pull the v4.5 netbox-docker? Like this...?

tee docker-compose.override.yml &lt;&lt;EOF
services:
  netbox:
    image: netboxcommunity/netbox:v4.5
    ports:
      - 8000:8080
EOF

And when I go to get the Diode plug in I need to specify v4.5 in the steps so It doesn't pull v4.6

#Run the following command to create or amend Dockerfile-Plugins:
sudo nano Dockerfile-Plugins

#Input the following, Use the specific version of NetBox you want to maintain:
FROM netboxcommunity/netbox:v4.5" 
reddit.com
u/Ecstatic_Orange66 — 10 days ago