netbox-docker
The Github repository houses the components needed to build Netbox as a Docker container. Images are built using this code and are released to Docker Hub once a day.
Do you have any questions? Before opening an issue on Github, please join the Network To Code Slack and ask for help in our #netbox-docker
channel.
Docker Tags
vX.Y.Z
: These are release builds, automatically built from the corresponding releases of Netbox.latest
: These are release builds, automatically built from themaster
branch of Netbox.snapshot
: These are pre-release builds, automatically built from thedevelop
branch of Netbox.develop-X.Y
: These are pre-release builds, automatically built from the corresponding branch of Netbox.
Then there is currently one extra tags for each of the above tags:
-ldap
: Contains additional dependencies and configurations for connecting Netbox to an LDAP directroy. Learn more about that in our wiki.
New images are built and published automatically every ~24h.
Quickstart
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 secret files, deployment to Kubernetes as well as NAPALM and LDAP configuration.
Getting Help
Please join our Slack channel #netbox-docker
on the Network To Code 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.
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.