🐳 Docker Image of NetBox
Go to file
Christian Mäder 95976f4cf4 Don't load main config twice
Before, the main_config (e.g. 'configuration.py' or 'ldap_config.py') were loaded twice.
The first load was hard-coded and correct.
The second load was during the discovery phase for dynamic configurations.
This has now been fixed. During the discovery for dynamic configurations,
the main_config file is now excluded.

Thanks @tobiasge for discovering this bug.
2021-02-23 22:50:16 +01:00
.github fixup! Lint the syntax of changes 2021-02-10 10:48:45 +01:00
build-functions Format shell scripts with shfmt 2021-02-08 18:56:30 +01:00
configuration Use black as formatter for python files 2021-02-08 18:24:29 +01:00
docker Don't load main config twice 2021-02-23 22:50:16 +01:00
env Sort env files 2021-02-08 18:56:30 +01:00
initializers Use black as formatter for python files 2021-02-08 18:24:29 +01:00
reports Fixed devices.py.example report 2020-05-11 16:46:10 +03:00
scripts Add support for custom scripts 2019-10-14 09:50:05 +02:00
startup_scripts Use black as formatter for python files 2021-02-08 18:24:29 +01:00
.dockerignore inlude docs in container 2020-03-11 10:40:10 +00:00
.ecrc Lint the syntax of changes 2021-02-08 18:56:30 +01:00
.editorconfig Use black as formatter for python files 2021-02-08 18:24:29 +01:00
.flake8 Lint the syntax of changes 2021-02-08 18:56:30 +01:00
.gitignore Lint the syntax of changes 2021-02-08 18:56:30 +01:00
.hadolint.yaml Lint the syntax of changes 2021-02-08 18:56:30 +01:00
.markdown-lint.yml Lint the syntax of changes 2021-02-08 18:56:30 +01:00
build-latest.sh Format shell scripts with shfmt 2021-02-08 18:56:30 +01:00
build-next.sh NetBox should always be referred to as NetBox 2021-02-04 21:48:08 +01:00
build.sh Format shell scripts with shfmt 2021-02-08 18:56:30 +01:00
docker-compose.test.yml Skip Startup Scripts in Unit Tests 2021-01-20 09:36:13 +01:00
docker-compose.yml Gunicorn is replaced with nginx-unit 2021-01-15 09:22:22 +01:00
Dockerfile Use black as formatter for python files 2021-02-08 18:24:29 +01:00
LICENSE add license 2018-06-22 16:27:45 +02:00
pyproject.toml Lint the syntax of changes 2021-02-08 18:56:30 +01:00
README.md Remove MicroBadger Badges 2021-02-18 16:57:51 +01:00
renovate.json Configure Renovate 2021-01-20 08:24:47 +01:00
requirements-container.txt Update dependency django-auth-ldap to v2.3.0 2021-02-16 00:06:58 +00:00
test.sh Format shell scripts with shfmt 2021-02-08 18:56:30 +01:00
VERSION Preparation for 1.0.2 2021-02-10 12:47:54 +01:00

netbox-docker

GitHub release (latest by date) GitHub stars GitHub closed pull requests Github release workflow Docker Pulls GitHub license

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 and Quay.io 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

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

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:
  netbox:
    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

Feel free to ask questions in our Github Community or join our Slack channel #netbox-docker on the Network To Code Slack, which is free to use and where there are almost always people online that can help you in the Slack channel.

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 19.03.
  • The docker-compose version must be at least 1.28.0.

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

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.