Skip to content

Installation

Nautobot can be deployed via Docker (Compose or Kubernetes) or directly onto a supported Linux system:

For more information about the Docker tags, Docker configurations, or using container images for your own development environment, see Nautobot in Docker.

Supported Platforms

Nautobot was designed to be a cross-platform application that can run on nearly any system that is able to run the required dependencies. Only the operating system platforms listed below are officially supported at this time.

  • Red Hat flavors of Linux including CentOS 8.2+ and Red Hat Enterprise Linux (RHEL) 8.2+ are supported.
  • Debian/Ubuntu flavors of Linux including Ubuntu 20.04+ and Debian 11+ are supported.

Nautobot should work on any POSIX-compliant system including practically any flavor of Linux, BSD, or even macOS, but those are not officially supported at this time.

To begin installing Nautobot, click the link to your preferred deployment approach from the list above.

About Dependencies

This section describes the system dependencies required for Nautobot. They can be all installed on a single system, or distributed across your environment. That will be up to you. Our install instructions assume a single system install, and that is good for most use cases. More advanced configurations are also possible, but are not covered here.

Mandatory dependencies

The following minimum versions are required for Nautobot to operate:

Dependency Role Minimum Version
Python Application 3.9
PostgreSQL Database 12.0
MySQL Database 8.0
Redis Cache, Queue 4.0
Git Additional 2.0

Nautobot will not work without these dependencies.

Python

Nautobot is written in the Python programming language. The official Python package installer is called Pip, and you will see the pip command referenced often to install or update Python packages.

Added in version 1.3.0 — Python 3.10 support added

Python 3.10 support was added.

Removed in version 1.3.0 — Python 3.6 support removed

Python 3.6 support was removed.

Changed in version 1.6.0 — Python 3.11 support added, Python 3.7 support removed

Python 3.11 support was added and Python 3.7 support was removed.

Added in version 2.3.0 — Python 3.12 support added

Python 3.12 support was added.

Removed in version 2.4.0 — Python 3.8 support removed

Python 3.8 support was removed.

Database

Nautobot uses a relational database to store its data. Both MySQL and PostgreSQL are officially supported.

Added in version 1.1.0 — MySQL support added

MySQL support was added.

Removed in version 2.1.0 — PostgreSQL minimum version became 12.0

Support for versions of PostgreSQL older than 12.0 was removed.

Only one database

Either PostgreSQL or MySQL must be selected, but not both.

MySQL is an open-source relational database management system that’s relatively easy to set up and manage, fast, reliable, and well-understood.

PostgreSQL is a powerful, feature-rich open source relational database server that can handle complex queries and massive databases.

Redis

Redis is an open source, in-memory data store which Nautobot employs for caching and queuing.

Optional dependencies

Optional dependency information

Nautobot will still operate without these optional dependencies, but would likely not be ready for use in a production environment without them. The installation and configuration of these dependencies are covered in the detailed guides which follow.

For production deployment we recommend the following:

For additional features:

Upgrading

If you are upgrading from an existing installation, please consult the upgrading guide.