Skip to content

authors: [bsmeding] title: Nautobot Zero to Hero – Part 1: Install Nautobot tags: ["network automation", "nautobot", "docker", "installation"] toc: true layout: single comments: true draft: true


Nautobot Zero to Hero – Part 1: Install Nautobot

Install Nautobot with Docker in a Virtual Machine

Get your Nautobot environment up and running with Docker.


Index


1. Introduction

In this first part of the series, we'll install Nautobot using Docker in a virtual machine. We'll use the comprehensive installation guide and setup scripts from the nautobot_zero_to_hero repository.

We'll: 1. Clone the nautobot_zero_to_hero repository 2. Follow the installation instructions 3. Deploy Nautobot with Docker Compose 4. Verify the installation is working correctly

Estimated Time: ~0.5 hours


2. Prerequisites

  • A virtual machine (VM) with:
  • Linux (Ubuntu 20.04+ recommended) or macOS/Windows with Docker Desktop
  • At least 4GB RAM
  • 20GB free disk space
  • Docker and Docker Compose installed
  • Git installed
  • Basic familiarity with command-line operations

3. Clone the Repository

The nautobot_zero_to_hero repository contains everything you need to get started, including Docker Compose files, configuration templates, and installation scripts.

git clone https://github.com/bsmeding/nautobot_zero_to_hero.git
cd nautobot_zero_to_hero

4. Install Nautobot

The repository includes an automated installation script that will: - Check for required dependencies (Docker, Docker Compose) - Set up the Nautobot environment - Configure PostgreSQL and Redis - Initialize Nautobot

./install.sh

The script will guide you through the installation process and prompt for any required configuration.

Option 2: Manual Installation

If you prefer to install manually, follow these steps:

  1. Create environment file:

    cp .env.example .env
    # Edit .env with your preferred settings
    

  2. Start the services:

    docker compose up -d
    

  3. Wait for services to be healthy:

    docker compose ps
    

  4. Run initial setup (if needed):

    docker compose exec nautobot nautobot-server post_upgrade
    


5. Access Nautobot

Once the installation is complete, you can access Nautobot:

  • URL: http://localhost:8080 (or the port configured in your .env file)
  • Default Username: admin
  • Default Password: admin (change this immediately!)

📸 [Screenshot: Nautobot Login Page]

After logging in, you should see the Nautobot dashboard.

📸 [Screenshot: Nautobot Dashboard]


6. Verify Installation

Let's verify that all components are working correctly:

Check Service Status

docker compose ps

All services should show as "healthy" or "running": - nautobot - Main Nautobot application - postgres - PostgreSQL database - redis - Redis cache and message broker - celery-worker-1 - Background job worker - celery-beat - Scheduled task scheduler

Check Nautobot Health

curl http://localhost:8080/health/

You should see a JSON response indicating all services are healthy.

Access the API

curl -H "Authorization: Token YOUR_API_TOKEN" http://localhost:8080/api/

Replace YOUR_API_TOKEN with your API token (found in your user profile). Default: '1234567890abcde0987654321'


7. Wrap-Up

Congratulations! You have successfully: - ✅ Installed Nautobot with Docker - ✅ Set up PostgreSQL and Redis - ✅ Configured Celery workers for background jobs - ✅ Accessed the Nautobot web interface - ✅ Verified all services are running


8. Next Steps

Now that Nautobot is installed and running, proceed to Part 2: Getting Started with Nautobot to: - Explore what Nautobot can do - Deploy a demo environment using Jobs - Run the pre-flight job to create initial data


Happy automating! 🚀