avalonhawk / netbox-docker

🐳 Docker Image of NetBox

Home Page:https://hub.docker.com/r/netboxcommunity/netbox/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

netbox-docker for EVE-NG

[GitHub release (latest by date)][github-release] [GitHub stars][github-stargazers] GitHub closed pull requests Github release workflow Docker Pulls [MicroBadger Layers][netbox-docker-microbadger] [MicroBadger Size][netbox-docker-microbadger] [GitHub license][netbox-docker-license]

The Github repository houses the components needed to build Netbox as a Docker container.

Do you have any questions? Please reach out to Knox Hutchinson https://Twitter.com/Data_Knox [github-stargazers]: https://github.com/netbox-community/netbox-docker/stargazers [github-release]: https://github.com/netbox-community/netbox-docker/releases [netbox-docker-microbadger]: https://microbadger.com/images/netboxcommunity/netbox [netbox-dockerhub]: https://hub.docker.com/r/netboxcommunity/netbox/tags/ [netbox-docker-github]: https://github.com/netbox-community/netbox-docker/ [ntc-slack]: http://slack.networktocode.com/ [netbox-docker-slack]: https://slack.com/app_redirect?channel=netbox-docker&team=T09LQ7E9E [netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE

Docker Tags

Then there is currently one extra tags for each of the above tags:

New images are built and published automatically every ~24h.

Quickstart

EVE-NG Users

  1. First make sure that the docker-in-docker container is installed
apt update
apt install eve-ng-dind

  1. Create a new lab

  2. Add the DinD node to the lab.

  • Edit the node and check the box allowing DHCP on the eth0 interface
  • Set the console to Telnet
  1. Add an outbound network to the lab (Management Cloud0 or NAT)

  2. Connect the node to the cloud

  3. Turn on the node

  4. Connect to the console

  5. Run the following commands

git clone -b release https://github.com/DataKnox/netbox-docker.git
cd netbox-docker
docker-compose pull
docker-compose up
  1. Run ip addr to see what the IP address of the node is
  • If using cloud0, wait a few minutes for Netbox to start and connect to the device http://IPADD:8000
  • If using NAT, add another container like Firefox to the topology, enable DHCP on the container, and access the address like above
  1. SSH into EVE-NG

  2. Run the following command

dc ps -a
  • You should see your DinD container running
  • Copy the Container ID
  1. Stop BUT DO NOT Wipe the container in the topology

  2. Run the following command in the EVE-NG terminal

dc commit <CONTAINER-ID-GOES-HERE> eve-netbox
  • this will take several minutes because Netbox is over 5GB
  1. You now have Netbox in EVE-NG

Regular

To get Netbox Docker up and running run the following commands. There is a more complete Getting Started guide on our wiki which explains every step.

git clone -b release https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
tee docker-compose.override.yml <<EOF
version: '3.4'
services:
  nginx:
    ports:
      - 8000:8080
EOF
docker-compose pull
docker-compose up

The whole application will be available after a few minutes. Open the URL http://0.0.0.0:8000/ in a web-browser. You should see the Netbox homepage. In the top-right corner you can login. The default credentials are:

  • Username: admin
  • Password: admin
  • API Token: 0123456789abcdef0123456789abcdef01234567

Documentation

Please refer to our wiki on Github for further information on how to use this Netbox Docker image properly. It covers advanced topics such as using files for secrets, deployment to Kubernetes, monitoring and configuring NAPALM or LDAP.

Getting Help

Please join [our Slack channel #netbox-docker][netbox-docker-slack] on the [Network To Code Slack][ntc-slack]. It's free to use and there are almost always people online that can help.

If you need help with using Netbox or developing for it or against it's API you may find the #netbox channel on the same Slack instance very helpful.

Dependencies

This project relies only on Docker and docker-compose meeting these requirements:

  • The Docker version must be at least 17.05.
  • The docker-compose version must be at least 1.17.0.

To check the version installed on your system run docker --version and docker-compose --version.

Use a Specific Netbox Version

The docker-compose.yml file is prepared to run a specific version of Netbox, instead of latest. To use this feature, set and export the environment-variable VERSION before launching docker-compose, as shown below. VERSION may be set to the name of [any tag of the netboxcommunity/netbox Docker image on Docker Hub][netbox-dockerhub].

export VERSION=v2.7.1
docker-compose pull netbox
docker-compose up -d

You can also build a specific version of the Netbox Docker image yourself. VERSION can be any valid git ref in that case.

export VERSION=v2.7.1
./build.sh $VERSION
docker-compose up -d

Breaking Changes

From time to time it might become necessary to re-engineer the structure of this setup. Things like the docker-compose.yml file or your Kubernetes or OpenShift configurations have to be adjusted as a consequence.

Since November 2019 each image built from this repo contains a org.opencontainers.image.version label. (The images contained labels since April 2018, although in November 2019 the labels' names changed.) You can check the label of your local image by running docker inspect netboxcommunity/netbox:v2.7.1 --format "{{json .Config.Labels}}".

Please read the release notes carefully when updating to a new image version.

Rebuilding the Image

./build.sh can be used to rebuild the Docker image. See ./build.sh --help for more information.

For more details on custom builds consult our wiki.

Tests

We have a test script. It runs Netbox's own unit tests and ensures that all initializers work:

IMAGE=netboxcommunity/netbox:latest ./test.sh

About

This repository is currently maintained and funded by nxt.

About

🐳 Docker Image of NetBox

https://hub.docker.com/r/netboxcommunity/netbox/

License:Apache License 2.0


Languages

Language:Python 65.0%Language:Shell 30.0%Language:Dockerfile 5.0%