NetDevOps Dev Setup
Setting up a modern development environment for network automation can be challenging. In this post, I'll walk you through my NetDevOps dev setup, including tools, tips, and best practices.
Repository: network_automation_dev_setup
Features
- Install Docker
- Install LLDAP server
- Install Nautobot CMDB
- Install AWX
- Install Gitea
- Install Nginx
⚠️ Warning
This setup is for DEV/TEST only. Do NOT use in production environments!
Setup Instructions
- Update and restart your target machine.
- Install dependencies:
- Debian/Ubuntu:
- CentOS/RHEL:
- Clone the repository:
- As a non-root user:
- Install Python dependencies:
- Install Ansible roles:
- Install Ansible collections:
- Edit the
inventory
file and set correct IP addresses. - Edit
group_vars/all
and add your login username. - Install Nautobot:
Updating
- Update roles:
- Update collections:
- To update images/versions, check the variables section or re-run the playbook to pull the latest image.
Variables
Variables can be set in the playbook, or in group_vars
or host_vars
files. All roles have defaults that can be overridden.
See role variables for: - Docker - Also see geerlingguy.docker role - Nautobot - Ansible AWX - LDAP - Nginx Reverse Proxy
Full Install
To install all tools on one server, use the install_full.yml
playbook. Make sure the hostname (e.g. srv1
) matches your inventory file.
All settings for the full install are in roles/full_install_config/defaults/main.yml.
Full install will: - Install Docker - Install LLDAP server - Install Nautobot CMDB - Install AWX - Install Gitea - Install Nginx - Configure LLDAP as authentication source for Nautobot and AWX (Gitea must be set manually) - Configure Nginx to serve all containers on port 80/443 based on URL
URLs
Change URLs according to your setup and/or DNS settings. Or add these to your local hosts file:
Default Logins
LDAP
- Login:
admin
/devnetops
- URL:
http://<serverip>:8080
orhttp://ldap.lab.local
- Default users:
user01
/password01
user02
/password02
Nautobot
- Login:
admin
/devnetops
or LDAP - URL:
http://<serverip>:8081
orhttp://cmdb.lab.local
Gitea
- First user created via registration form is admin
- URL:
http://<serverip>:8082
orhttp://git.lab.local
- To add LDAP to Gitea, see this guide
- LDAP server:
ldap
(container name, as all containers share a Docker network)
AWX
- URL:
http://<serverip>:8083
orhttp://awx.lab.local
- Login:
admin
/devnetops
or LDAP