Skip to main content

NetBox Maintenance Device Plugin

NetBox PyPI PyPI Downloads Language

A comprehensive NetBox plugin for managing device preventive and corrective maintenance with enhanced visual indicators, scheduling capabilities, and multi-language support.

Upcoming & Overdue Maintenance

Features

  • Maintenance Plans: Create and manage maintenance plans for devices and virtual machines with configurable frequency
  • Cycle Start Date: Use the actual installation or cycle start date when registering existing equipment, retaining overdue cycles instead of starting over at plan creation (#26)
  • Virtual Machine Support: Plans can target either a dcim.Device or a virtualization.VirtualMachine, with the same UX on both detail pages (#14)
  • Calendar-based Scheduling: Schedule every N days / weeks / months / quarters / years, with an optional calendar anchor to avoid drift — e.g. "1st day of every month" or "start of each quarter" stays aligned with the calendar regardless of when previous executions happened (#15)
  • Maintenance Executions: Record and track maintenance executions with status monitoring
  • Device & VM Integration: View maintenance history directly on device and VM pages with dedicated tabs
  • Quick Actions: Schedule and complete maintenance directly from the interface
  • Upcoming & Overdue Dashboard: Filter by status (Overdue / Due Soon / Upcoming / On Track), maintenance type, and target type (Device / VM)
  • REST API: Complete REST API for external integrations and automation
  • Advanced Filtering: Powerful filtering and search capabilities
  • Custom Actions: Schedule, complete, and cancel maintenance via API
  • Statistics: Get maintenance statistics and overdue/upcoming reports

Compatibility

NetBox Version Plugin Support Notes
4.7.x Tested & Supported Integration tests on 4.7.2 and 4.7.3
4.6.x Tested & Supported Regression tests on 4.6.10
4.5.x Tested & Supported Regression tests on 4.5.10
4.4.x Tested & Supported Regression tests on 4.4.0 and 4.4.10
< 4.4 Not Supported Below the plugin's minimum version
>= 4.8 Not Supported Requires a separate compatibility review

Note: Version 1.4.5 supports NetBox 4.4–4.7. See the NetBox 4.7 compatibility analysis for upstream changes, upgrade validation, and test coverage. The configured version range remains bounded to 4.4.0–4.7.99.

Python Requirements: This plugin requires Python 3.12 or later, including on NetBox 4.4. Use the Django and Python versions supported by your NetBox release; NetBox 4.7.3 pins Django 6.1.2.

Installation

Now officially available on PyPI!

# Install the latest version
pip install netbox-maintenance-device

# Or install a specific version
pip install netbox-maintenance-device==1.4.5

For Docker deployments, add to your plugin_requirements.txt:

echo "netbox-maintenance-device>=1.4.5" >> plugin_requirements.txt

Method 2: GitHub Installation

# Install from GitHub (development version)
pip install git+https://github.com/diegogodoy06/netbox-maintenance-device.git

Method 3: Docker Installation

For Docker-based NetBox installations using netbox-docker:

📋 For detailed Docker installation instructions in English and Portuguese, see DOCKER_INSTALL.md

Configuration

Basic Configuration

Add the plugin to your NetBox configuration.py:

# configuration.py

PLUGINS = [
    'netbox_maintenance_device',
    # ... other plugins
]

# Optional: Plugin-specific settings
PLUGINS_CONFIG = {
    'netbox_maintenance_device': {
        # Future configuration options will be added here
        # Currently, the plugin uses default settings
    }
}

Language Configuration (Optional)

To enable Portuguese-BR by default:

# configuration.py

# Enable internationalization
USE_I18N = True
USE_L10N = True

# Set default language
LANGUAGE_CODE = 'pt-br'
TIME_ZONE = 'America/Sao_Paulo'

# Available languages
LANGUAGES = [
    ('en', 'English'),
    ('pt-br', 'Português (Brasil)'),
]

Restart Services

Restart your NetBox services:

# For systemd
sudo systemctl restart netbox netbox-rq

# For Docker
docker compose restart netbox netbox-worker

Usage

For detailed usage instructions, please refer to the USAGE.md guide, which includes:

  • Creating and managing maintenance plans
  • Scheduling and completing maintenance
  • Monitoring maintenance status
  • Using the REST API
  • Troubleshooting common issues

Quick Start:

  1. Create maintenance plans for your devices
  2. View upcoming/overdue maintenance in the dashboard
  3. Use quick action buttons to schedule or complete maintenance
  4. Monitor device-specific maintenance on device pages

Screenshots

Device Maintenance Section

View maintenance plans and status directly on device pages

Device Maintenance

Upcoming Maintenance Dashboard

Monitor all upcoming and overdue maintenance across your infrastructure

Upcoming Maintenance

Maintenance Plan Management

Create and manage maintenance plans with flexible scheduling

Maintenance Plans


🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

🙏 Acknowledgments

  • NetBox community for the excellent platform
  • Contributors and users providing feedback

Metadata

Release files for netbox-maintenance-device 1.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-maintenance-device 1.4.5
File Size Uploaded Provenance
netbox_maintenance_device-1.4.5.tar.gz 73.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-maintenance-device 1.4.5
File Interpreter ABI Platform
netbox_maintenance_device-1.4.5-py3-none-any.whl Python 3 none any Details

Total release size: 152.4 kB

Release files / netbox_maintenance_device-1.4.5.tar.gz

Download URL netbox_maintenance_device-1.4.5.tar.gz
Size 73.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fef46fd98a171b65a39919ed3e90af1ffba4ca04af09c8072d4649dc6c46668f
BLAKE2b-256 checksum
How to use checksums
04cfb55f6383dc963373a6ece5e01eeca593dbd39609bd138f624957f4092dcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / netbox_maintenance_device-1.4.5-py3-none-any.whl

Download URL netbox_maintenance_device-1.4.5-py3-none-any.whl
Size 78.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c60aec0986b990af65f687fb86ff640502e6851fc7bda384200af9a3d9c90752
BLAKE2b-256 checksum
How to use checksums
2217756604e4608476a872a5e480d24b1386e8c79b73be46fd2e145d7030c5b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for netbox-maintenance-device 1.4.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page