2017-04-19 16:48:21 +02:00
# netbox-docker
2019-11-17 17:07:02 +01:00
[![GitHub release (latest by date) ](https://img.shields.io/github/v/release/netbox-community/netbox-docker )][github-release]
[![GitHub stars ](https://img.shields.io/github/stars/netbox-community/netbox-docker )][github-stargazers]
![GitHub closed pull requests ](https://img.shields.io/github/issues-pr-closed-raw/netbox-community/netbox-docker )
2020-01-23 09:35:30 +01:00
![Github release workflow ](https://img.shields.io/github/workflow/status/netbox-community/netbox-docker/release )
2019-11-17 17:07:02 +01:00
![Docker Pulls ](https://img.shields.io/docker/pulls/netboxcommunity/netbox )
[![MicroBadger Layers ](https://img.shields.io/microbadger/layers/netboxcommunity/netbox )][netbox-docker-microbadger]
[![MicroBadger Size ](https://img.shields.io/microbadger/image-size/netboxcommunity/netbox )][netbox-docker-microbadger]
[![GitHub license ](https://img.shields.io/github/license/netbox-community/netbox-docker )][netbox-docker-license]
2019-02-07 09:49:11 +01:00
[The Github repository ](netbox-docker-github ) houses the components needed to build Netbox as a Docker container.
2020-12-15 00:28:43 +01:00
Images are built using this code and are released to [Docker Hub][netbox-dockerhub] and [Quay.io][netbox-quayio] once a day.
2017-12-13 15:50:30 +01:00
2020-03-17 16:07:15 +01:00
Do you have any questions?
Before opening an issue on Github, please join the [Network To Code][ntc-slack] Slack and ask for help in our [`#netbox-docker`][netbox-docker-slack] channel.
2018-09-27 09:44:14 +02:00
2019-11-17 17:07:02 +01:00
[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
2020-12-15 00:28:43 +01:00
[netbox-dockerhub]: https://hub.docker.com/r/netboxcommunity/netbox/
2019-10-12 15:16:17 +02:00
[netbox-docker-github]: https://github.com/netbox-community/netbox-docker/
2018-09-27 09:44:14 +02:00
[ntc-slack]: http://slack.networktocode.com/
2019-10-12 15:16:17 +02:00
[netbox-docker-slack]: https://slack.com/app_redirect?channel=netbox-docker& team=T09LQ7E9E
2020-01-23 10:26:21 +01:00
[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE
2020-12-15 00:28:43 +01:00
[netbox-quayio]: https://quay.io/repository/netboxcommunity/netbox
2019-11-17 17:07:02 +01:00
## Docker Tags
2020-03-17 16:07:15 +01:00
* `vX.Y.Z` : These are release builds, automatically built from [the corresponding releases of Netbox][netbox-releases].
* `latest` : These are release builds, automatically built from [the `master` branch of Netbox][netbox-master].
* `snapshot` : These are pre-release builds, automatically built from the [`develop` branch of Netbox][netbox-develop].
* `develop-X.Y` : These are pre-release builds, automatically built from the corresponding [branch of Netbox][netbox-branches].
2019-11-17 17:07:02 +01:00
2020-03-17 16:07:15 +01:00
Then there is currently one extra tags for each of the above tags:
2019-11-17 17:07:02 +01:00
2020-07-14 03:19:49 +02:00
* `-ldap` : Contains additional dependencies and configurations for connecting Netbox to an LDAP directory.
2019-11-17 17:07:02 +01:00
[Learn more about that in our wiki][netbox-docker-ldap].
2020-03-17 16:07:15 +01:00
New images are built and published automatically every ~24h.
2019-11-17 17:07:02 +01:00
[netbox-releases]: https://github.com/netbox-community/netbox/releases
[netbox-master]: https://github.com/netbox-community/netbox/tree/master
[netbox-develop]: https://github.com/netbox-community/netbox/tree/develop
[netbox-branches]: https://github.com/netbox-community/netbox/branches
[netbox-docker-ldap]: https://github.com/netbox-community/netbox-docker/wiki/LDAP
2017-04-19 16:48:21 +02:00
## Quickstart
2020-03-17 16:07:15 +01:00
To get Netbox Docker up and running run the following commands.
There is a more complete [_Getting Started_ guide on our wiki][wiki-getting-started] which explains every step.
2017-04-19 16:48:21 +02:00
2019-07-02 21:32:58 +02:00
```bash
2019-12-10 21:44:11 +01:00
git clone -b release https://github.com/netbox-community/netbox-docker.git
2019-07-02 21:32:58 +02:00
cd netbox-docker
2020-04-22 22:24:34 +02:00
tee docker-compose.override.yml < < EOF
2020-03-17 16:07:15 +01:00
version: '3.4'
services:
2020-11-10 15:23:07 +01:00
netbox:
2020-03-17 16:07:15 +01:00
ports:
- 8000:8080
EOF
2019-07-02 21:32:58 +02:00
docker-compose pull
2020-03-17 16:07:15 +01:00
docker-compose up
2017-09-11 15:30:52 +02:00
```
2017-04-19 16:48:21 +02:00
2020-03-17 16:07:15 +01:00
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.
2019-11-20 11:09:37 +01:00
The default credentials are:
2017-04-19 16:48:21 +02:00
* Username: **admin**
* Password: **admin**
2017-11-29 15:13:55 +01:00
* API Token: **0123456789abcdef0123456789abcdef01234567**
2017-04-19 16:48:21 +02:00
2019-11-20 11:09:37 +01:00
[wiki-getting-started]: https://github.com/netbox-community/netbox-docker/wiki/Getting-Started
2019-02-06 11:24:01 +01:00
[docker-reception]: https://github.com/nxt-engineering/reception
2017-12-13 15:50:30 +01:00
2020-03-17 16:07:15 +01:00
## Documentation
Please refer [to our wiki on Github][netbox-docker-wiki] for further information on how to use this Netbox Docker image properly.
2020-10-26 15:29:41 +01:00
It covers advanced topics such as using files for secrets, deployment to Kubernetes, monitoring and configuring NAPALM or LDAP.
2020-03-17 16:07:15 +01:00
[netbox-docker-wiki]: https://github.com/netbox-community/netbox-docker/wiki/
## Getting Help
2020-12-15 00:50:02 +01:00
Feel free to ask questions in our [Github Community][netbox-community] or join [our Slack channel `#netbox-docker` ][netbox-docker-slack] on the [Network To Code Slack][ntc-slack],
which is free to use and where there are almost always people online that can help you in the Slack channel.
2020-03-17 16:07:15 +01:00
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.
2020-12-15 00:50:02 +01:00
[netbox-community]: https://github.com/netbox-community/netbox-docker/discussions
2017-10-16 13:09:17 +02:00
## Dependencies
2019-11-26 12:27:25 +01:00
This project relies only on *Docker* and *docker-compose* meeting these requirements:
2017-10-16 13:09:17 +02:00
2019-10-10 12:42:10 +02:00
* The *Docker version* must be at least `17.05` .
* The *docker-compose version* must be at least `1.17.0` .
2017-10-16 13:09:17 +02:00
2019-11-26 12:28:43 +01:00
To check the version installed on your system run `docker --version` and `docker-compose --version` .
2017-10-16 13:09:17 +02:00
2020-03-17 16:07:15 +01:00
## Use a Specific Netbox Version
2017-12-13 15:50:30 +01:00
2020-03-17 16:07:15 +01:00
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.
2017-10-16 13:33:12 +02:00
`VERSION` may be set to the name of
2020-12-15 00:28:43 +01:00
[any tag of the `netboxcommunity/netbox` Docker image on Docker Hub][netbox-dockerhub] or [Quay.io][netbox-quayio].
2017-10-16 13:33:12 +02:00
2019-07-02 21:32:58 +02:00
```bash
2020-01-20 09:01:18 +01:00
export VERSION=v2.7.1
2019-07-02 21:32:58 +02:00
docker-compose pull netbox
docker-compose up -d
2017-10-16 13:33:12 +02:00
```
2019-10-13 16:00:42 +02:00
You can also build a specific version of the Netbox Docker image yourself.
`VERSION` can be any valid [git ref][git-ref] in that case.
2017-10-16 13:33:12 +02:00
2019-07-02 21:32:58 +02:00
```bash
2020-01-20 09:01:18 +01:00
export VERSION=v2.7.1
2019-10-13 16:00:42 +02:00
./build.sh $VERSION
2019-07-02 21:32:58 +02:00
docker-compose up -d
2017-10-16 13:33:12 +02:00
```
2017-12-13 15:50:30 +01:00
[git-ref]: https://git-scm.com/book/en/v2/Git-Internals-Git-References
2019-07-02 21:32:58 +02:00
[netbox-github]: https://github.com/netbox-community/netbox/releases
2017-12-13 15:50:30 +01:00
2019-05-08 11:43:29 +02:00
## Breaking Changes
2018-04-04 09:44:58 +02:00
2018-08-13 23:04:09 +02:00
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.
2020-01-23 10:36:13 +01:00
2019-11-17 17:07:02 +01:00
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.)
2020-01-23 10:36:13 +01:00
You can check the label of your local image by running `docker inspect netboxcommunity/netbox:v2.7.1 --format "{{json .Config.Labels}}"` .
2019-10-09 12:36:26 +02:00
Please read [the release notes][releases] carefully when updating to a new image version.
[releases]: https://github.com/netbox-community/netbox-docker/releases
2019-02-06 11:46:20 +01:00
2020-01-23 10:36:13 +01:00
## Rebuilding the Image
2017-09-11 15:30:52 +02:00
2019-02-06 11:24:01 +01:00
`./build.sh` can be used to rebuild the Docker image. See `./build.sh --help` for more information.
2017-08-30 11:10:55 +02:00
2020-01-23 10:36:13 +01:00
For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
[netbox-docker-wiki-build]: https://github.com/netbox-community/netbox-docker/wiki/Build
2018-08-13 23:04:09 +02:00
2017-08-30 11:10:55 +02:00
## Tests
2020-01-23 10:36:13 +01:00
We have a test script.
It runs Netbox's own unit tests and ensures that all initializers work:
2017-08-30 11:10:55 +02:00
2019-07-02 21:32:58 +02:00
```bash
2020-01-23 10:36:13 +01:00
IMAGE=netboxcommunity/netbox:latest ./test.sh
2017-08-30 11:10:55 +02:00
```
2017-09-11 15:30:52 +02:00
## About
2019-02-06 11:46:20 +01:00
This repository is currently maintained and funded by [nxt][nxt].
[nxt]: https://nxt.engineering/en/