Skip to main content

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:

  1. 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
    
  2. Enable the plugin in netbox/netbox/configuration.py:

    PLUGINS = ["netbox_proxbox"]
    
  3. Run migrations and collect static files:

    python3 manage.py migrate netbox_proxbox
    python3 manage.py collectstatic --no-input
    sudo systemctl restart netbox
    
  4. 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) on PORT (default 8000); add more certificate names or IPs with MKCERT_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.

  5. 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)
  6. 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:

  1. Add plugin requirements to plugin_requirements.txt (PyPI or Git):

    netbox-proxbox
    # or
    # netbox-proxbox @ git+https://github.com/netdevopsbr/netbox-proxbox.git
    
  2. Enable the plugin in configuration/plugins.py:

    PLUGINS = ["netbox_proxbox"]
    
  3. Rebuild and restart NetBox:

    docker compose build
    docker compose up -d
    
  4. 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:

  1. Start the NetBox RQ worker with the Proxbox queue:

    cd /opt/netbox/netbox
    source /opt/netbox/venv/bin/activate
    python3 manage.py rqworker
    
  2. 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

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:

Sponsor Me!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_proxbox-0.0.10.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_proxbox-0.0.10-py3-none-any.whl (3.8 MB view details)

Uploaded Python 3

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

Hashes for netbox_proxbox-0.0.10.tar.gz
Algorithm Hash digest
SHA256 a939a72f0355b9ce087ada771f560d4967cb44477b01c53d64cd8b00eb269aef
MD5 452de6ce44b6b2f7e247d9000d9a26c7
BLAKE2b-256 99b124cc2f53e0ef9fca4c84ee043d1334c2d4056b80ba03937d0d8a1711c6f5

See more details on using hashes here.

File details

Details for the file netbox_proxbox-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_proxbox-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a890f8e4ba0923b2d1064053a393d5c955c91863964f568ba62fa9d9ba0648d0
MD5 e2d61955cafbcf4fe0c6524d9ed3675d
BLAKE2b-256 93a5f939d653b26d5ca7464abb8e2c35f9c2cd19aca03b85bcc63a620be84be9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page