Skip to main content

Production-ready NetBox plugin for UniFi synchronization

Project description

netbox_unifi_sync

netbox_unifi_sync is a NetBox 4.2+ plugin that runs UniFi -> NetBox sync jobs inside NetBox workers.

Features

  • Device sync (devices, interfaces, VLANs, prefixes, WLANs, uplink relations, IP assignments)
  • DHCP scope sync to NetBox IP Ranges
  • UniFi auth via API key or legacy login (username/password + optional MFA)
  • Manual and scheduled sync jobs
  • Runtime settings stored in plugin models (Settings, Controllers, Site mappings)

Quick Start

1. Install

pip install netbox-unifi-sync

PyPI project page: https://pypi.org/project/netbox-unifi-sync/

2. Enable plugin in NetBox

PLUGINS = ["netbox_unifi_sync"]

PLUGINS_CONFIG = {
    "netbox_unifi_sync": {}
}

3. Apply migrations

python manage.py migrate

4. Configure in UI

Go to Plugins -> UniFi Sync and configure:

  1. Settings (tenant_name, netbox_roles, defaults)
  2. Controllers (URL, auth mode, credentials)
  3. Site mappings (if UniFi/NetBox site names differ)

5. Run first sync

  • UI: Plugins -> UniFi Sync -> Sync Dashboard -> Run now
  • CLI:
python manage.py netbox_unifi_sync_run --dry-run --json
python manage.py netbox_unifi_sync_run --cleanup

Credentials

Use secret references, not plaintext:

  • env:VAR_NAME
  • file:/absolute/path/to/secret

Documentation

Security Notes

  • SSL verification defaults to true
  • Secrets are redacted in run history and audit logs
  • Timeouts/retries/backoff are configurable

Maintainer: Release to PyPI

  1. Bump version in:
    • pyproject.toml ([project].version)
    • netbox_unifi_sync/version.py (__version__)
  2. Configure PyPI Trusted Publisher (OIDC) for this repository/workflow.
  3. Create and push tag vX.Y.Z:
    • git tag -a vX.Y.Z -m "Release vX.Y.Z"
    • git push origin vX.Y.Z
  4. release.yml creates GitHub Release.
  5. publish-python-package.yml publishes package to PyPI when release is published.

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_unifi_sync-0.1.2.tar.gz (176.4 kB view details)

Uploaded Source

Built Distribution

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

netbox_unifi_sync-0.1.2-py3-none-any.whl (141.1 kB view details)

Uploaded Python 3

File details

Details for the file netbox_unifi_sync-0.1.2.tar.gz.

File metadata

  • Download URL: netbox_unifi_sync-0.1.2.tar.gz
  • Upload date:
  • Size: 176.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netbox_unifi_sync-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7717c610ae0727820bdd76b8790885875793213cc8bd445c7e886e50ed00ff2f
MD5 015e15335b7b88e8c55c9cbf89713291
BLAKE2b-256 75aab22ca24d04782d975333a84b99176e0be6865122693a966cd25e05fe43f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_unifi_sync-0.1.2.tar.gz:

Publisher: publish-python-package.yml on unifi2netbox/netbox-unifi-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_unifi_sync-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_unifi_sync-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3eb9602894bf0e5982fb0fe7647e5b09e405777dfe7ef0faacb832e0d0840de1
MD5 4e418c94f8373f18dc9465039097f6a9
BLAKE2b-256 af9eaf217f8f9777a3e21453f4d2f9ee03b9f45bfbeaa4721c0b47557edcfcb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_unifi_sync-0.1.2-py3-none-any.whl:

Publisher: publish-python-package.yml on unifi2netbox/netbox-unifi-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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