Skip to content

Nautobot Docker Installation with Ansible

Nautobot Logo

docker_container_nautobot

Nautobot docker container including other networking tools.

This container is build by the base containers from Nautobot and used as upstream source, then I've added some extra tooling that was missing for running a Dockerized environment of Nautobot. Also a lot of Nautobot plugins are installed by default, only need to enable in the nautobot_config.py or you can use this image from my Ansible role to install and configure Nautobot

OS packages

  • net-tools
  • iputils-ping
  • dnsutils

PIP Packages

  • ansible-core==2.15.11
  • nautobot[napalm]
  • nautobot[sso]
  • social-auth-core[openidconnect]
  • social-auth-core[saml]
  • social-auth-core[azuread]
  • social-auth-core[google]

Install custom packages used in Jobs

  • pandas
  • xlrd
  • openpyxl
  • fuzzywuzzy
  • python-Levenshtein
  • hier-config
  • pyntc
  • pyats
  • scrapli scrapli[ssh2]
  • pysnmp

Nautobot plugins

Docker-compose

To setup a working environment in Docker including database and redis, see an example of docker-compose.yml for Nautobot here

More flexibility needed?

If you need more flexibility, please take a look at my Ansible role to deploy Nautobot on Dockerhere or via Ansible Galaxy

Example playbook to install Docker and Nautobot all-in-one with all defaults.

First install the roles:

  • ansible-galaxy role install bsmeding.docker
  • ansible-galaxy role install bsmeding.nautobot_docker

Then run the playbook:

---
- name: Install Nautobot
  hosts: [nautobot]
  gather_facts: true
  become: yes
  tasks:
    - name: Check if Docker is installed
      include_role:
        name: bsmeding.docker

    - name: Check if Nautobot is installed
      include_role:
        name: bsmeding.nautobot_docker