NetBox Attachments Plugin
NetBox plugin for attaching files to NetBox objects.
Overview
netbox-attachments adds an attachment model and UI/API workflows to upload, link, and manage files against NetBox models.
- Project documentation: docs/index.md
- Installation guide: docs/installation.md
- Configuration reference: docs/configuration.md
- Usage guide: docs/usage.md
- Compatibility policy: docs/compatibility.md
- Release process: docs/release-process.md
Compatibility
Supported now:
- NetBox:
4.7.x - Plugin:
12.x(use11.xfor NetBox 4.5–4.6) - Python:
3.12,3.13,3.14
Compatibility details and legacy version notes are documented in docs/compatibility.md.
Upgrading to NetBox 4.6 with existing attachments? A foreign-key error in migration
0007can occur because NetBox 4.6 populatescore_objecttypevia a post-migrate signal. See the NetBox 4.6 upgrade notes and thefix_attachment_object_typesmanagement command (issue #107).
Installation
Install from PyPI:
pip install netbox-attachments
Enable the plugin in configuration.py:
PLUGINS = ["netbox_attachments"]
Create storage directory and set permissions:
mkdir -p /opt/netbox/netbox/media/netbox-attachments
chown netbox /opt/netbox/netbox/media/netbox-attachments
Run migrations:
python3 manage.py migrate netbox_attachments
Full installation details: docs/installation.md.
Configuration
Plugin settings are configured via PLUGINS_CONFIG["netbox_attachments"].
PLUGINS_CONFIG = {
"netbox_attachments": {
"applied_scope": "model",
"scope_filter": ["dcim.device", "ipam.prefix", "tenancy"],
"display_default": "right_page",
"create_add_button": True, # show top "Attachments" dropdown in additional_tab mode
"display_setting": {"ipam.vlan": "left_page"},
}
}
Complete settings reference: docs/configuration.md.
API
Attachment APIs are exposed under:
/api/plugins/netbox-attachments/netbox-attachments//api/plugins/netbox-attachments/netbox-attachment-assignments/
Workflow:
- Upload/create attachment via
netbox-attachments. - Link it to an object via
netbox-attachment-assignments.
Additional usage details: docs/usage.md.
Testing
Primary local command:
make test
Packaging check:
python -m build
Support
- Bug reports and feature requests: GitHub Issues
- NetBox community support: NetDev Community Slack and GitHub Discussions in netbox-community
Contributing
Contribution workflow and expectations are documented in CONTRIBUTING.md.
Release Notes
Project release history follows Keep a Changelog:
Screenshots
- Attachment List
- Attachment Detail
- Object Attachments Tab
- Create Assignment
License
Licensed under Apache 2.0. See LICENSE.
Release files for netbox-attachments 12.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_attachments-12.0.0.tar.gz | 375.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_attachments-12.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 456.1 kB
Release files / netbox_attachments-12.0.0.tar.gz
| Download URL | netbox_attachments-12.0.0.tar.gz |
|---|---|
| Size | 375.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d4c66e8eba4a78db612a5e88618b7b9327d1584883ed14e7c245fdb0f314b633
|
|
BLAKE2b-256 checksum How to use checksums |
e819ed6c55fa0038c3291e4af5b2951930654ec1fc43f9005a13a2529c2415a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / netbox_attachments-12.0.0-py3-none-any.whl
| Download URL | netbox_attachments-12.0.0-py3-none-any.whl |
|---|---|
| Size | 80.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cbf50d01a4579515b25fabd888f464258a136ddf92d9472c63802056710a9e29
|
|
BLAKE2b-256 checksum How to use checksums |
e6f9f60d4d58d0c6c136b66cb603da442acf82c1c4bb41303c3a2d66a4ec351d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|