Nautobot Documentation

Skip to content

# Nautobot

## What is Nautobot?

Nautobot is an open source Network Source of Truth and Network Automation Platform built as a web application atop the Django Python framework with a PostgreSQL or MySQL database.

Try out a live demo at https://demo.nautobot.com

## Key Use Cases

Nautobot enables three (3) key use cases.

1. Flexible Source of Truth for Networking — Nautobot serves as a highly flexible source of truth for network infrastructure, utilizing its core data models to define the intended state of your network. While it provides a baseline set of models such as IP networks, devices, racks, circuits, and cables, Nautobot's true strength lies in its flexibility. Users can define custom relationships and fields for any model, ensuring that the platform adapts to their specific needs. Additionally, Nautobot's robust data validation allows for the enforcement of naming standards and the execution of automated tests before data is committed, ensuring data integrity and consistency.

2. Extensible Data Platform for Automation — Nautobot is designed to seamlessly integrate with network automation solutions, offering a comprehensive feature set that includes GraphQL, native Git integration, REST APIs, and webhooks. The Git integration allows Nautobot to dynamically load YAML data files as configuration contexts. The evolving App system further enhances Nautobot's capabilities, enabling users to create custom models, APIs, and UI elements. By unifying and aggregating disparate data sources, Nautobot provides a single source of truth, simplifying data management and streamlining network automation processes.

3. Platform for Network Automation Apps — The Nautobot App system empowers users to develop custom Network Automation Apps tailored to their specific needs. Whether lightweight or complex, these apps benefit from Nautobot's existing features such as authentication, permissions, webhooks, GraphQL, and change logging, significantly reducing development time by up to 70%. This integration not only accelerates the development process but also leverages the extensive data already stored in Nautobot, providing a powerful and efficient platform for building network automation solutions.

## Getting Started

- Installing Nautobot

  Get up and running with a Nautobot install on your own Linux VM or in a Docker environment.

- Configuring Nautobot

  Learn about the many configuration options that Nautobot offers for fine-tuning your installation.

- Using Nautobot

  Dive into how to use Nautobot and the key components of the core web interface. Learn how Nautobot Apps can expand Nautobot's functionality.

- Nautobot APIs!

  Dive into the REST and GraphQL APIs.

- Nautobot SDKs

  Nautobot has a Python SDK and Ansible modules to interact with Nautobot in a programmatic way.

## Nautobot Apps

Nautobot has a thriving ecosystem of Apps, developed as separate projects, for which you can find links to documentation under the Nautobot Apps section.

- Golden Configuration

  Golden Configuration backs up configurations, generates intended state configurations, compares them for compliance and remediates device configurations.

- Device Lifecycle

  Device Lifecycle adds additional capabilities around managing the hardware and software lifecycle, including the tracking of related contracts .

- Firewall Models

  Firewall Models helps to model out firewall rules and related objects, including extended ACLs.

- SSoT

  Single Source of Truth is the framework to synchronize data from other systems into and out of Nautobot.

- ChatOps

  ChatOps supports a variety of chat applications, allowing peer teams to conveniently interact with Nautobot and get information about the network.

- Circuit Maintenance

  Circuit Maintenance brings your circuit maintenance notification emails (and API connected info) into objects within Nautobot to bring better notification and business actions to the maintenances.

- Capacity Metrics

  Capacity Metrics brings additional Nautobot data to Prometheus metrics, making it easy to derive time series information about your Nautobot data.

- Device Onboarding

  Device Onboarding brings network data into Nautobot, helping to build out the intended state from the current state of the network.

## Nautobot Screenshots

### App Screenshots

## Contributing to Nautobot

- Jobs Developer Guide

  Jump start your development of Nautobot Jobs.

- Apps Developer Guide

  Get started developing Nautobot Apps

- Core Developer Guide

  Learn how to develop and contribute to Nautobot