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.9.2 - 3.12 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.

## Getting Started

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

## Dependency History

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.

Added in version 2.3.0 — Python 3.12, Django 4

- Python 3.12 support was added.
- Nautobot migrated from Django 3.2 to Django 4.2.

Removed in version 2.4.0 — Python 3.8

Python 3.8 support was removed.

Removed in version 2.4.20 — Python 3.9

Python 3.9 support 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.