Skip to content

Application Stack

Nautobot is built on the Django Python Web framework and requires either a PostgreSQL or MySQL database backend. It runs as a WSGI service behind your choice of HTTP server.

Components

Function Component
HTTP service NGINX
WSGI service uWSGI or Gunicorn
Application Django
Python 3.8 - 3.11 supported
Database PostgreSQL 12+ or
MySQL 8.0+
Cache Django/Redis
Task queuing Redis / Celery
Live device access NAPALM and NAPALM Community Drivers.

Application Diagram

The following diagram displays how data travels through Nautobot's application stack.

Application stack diagram

Getting Started

See the installation guide for help getting Nautobot up and running quickly.

Dependency History

Added in version 1.1.0 — MySQL support

MySQL support was added.

Changed in version 1.3.0 — Python 3.6, Python 3.10
  • Python 3.6 support was removed.
  • Python 3.10 support was added.
Changed in version 1.6.0 — Python 3.7, Python 3.11
  • Python 3.7 support was removed.
  • Python 3.11 support was added.
Removed in version 2.0.0 — django-rq and django-cacheops
  • django-rq support was removed.
  • django-cacheops usage was removed and replaced with Django's native caching features.
Removed in version 2.1.0 — PostgreSQL <12.0

Support for versions of PostgreSQL older than 12.0 was removed.

Notices

Nautobot was initially developed as a fork of NetBox (v2.10.4), which was originally created by Jeremy Stretch at DigitalOcean and by the NetBox open source community.