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.
2019-07-30 13:45:08 +02:00
Images are built using this code and are released to [Docker Hub][netbox-dockerhub] once a day.
2017-12-13 15:50:30 +01:00
2019-10-12 15:16:17 +02: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
2019-02-06 11:24:01 +01:00
[netbox-dockerhub]: https://hub.docker.com/r/netboxcommunity/netbox/tags/
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
2019-11-17 17:07:02 +01:00
## Docker Tags
* `vX.Y.Z` : Release builds, built from [releases of Netbox][netbox-releases].
* `latest` : Release builds, built from [`master` branch of Netbox][netbox-master].
* `snapshot` : Pre-release builds, built from the [`develop` branch of Netbox][netbox-develop].
* `develop-X.Y` : Pre-release builds, built from the corresponding [branch of Netbox][netbox-branches].
Then there is currently one extra tags for each of the above labels:
* `-ldap` : Contains additional dependencies and configurations for connecting Netbox to an LDAP directroy.
[Learn more about that in our wiki][netbox-docker-ldap].
[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
2019-12-10 21:44:11 +01:00
To get Netbox up and running in Docker:
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
docker-compose pull
docker-compose up -d
2017-04-19 16:48:21 +02:00
```
2017-09-11 15:30:52 +02:00
The application will be available after a few minutes.
2017-12-26 23:03:02 +01:00
Use `docker-compose port nginx 8080` to find out where to connect to.
2017-09-11 15:30:52 +02:00
2019-07-02 21:32:58 +02:00
```bash
2017-12-26 23:03:02 +01:00
$ echo "http://$(docker-compose port nginx 8080)/"
2017-09-11 15:30:52 +02:00
http://0.0.0.0:32768/
# Open netbox in your default browser on macOS:
2017-12-26 23:03:02 +01:00
$ open "http://$(docker-compose port nginx 8080)/"
2017-09-11 15:30:52 +02:00
# Open netbox in your default browser on (most) linuxes:
2017-12-26 23:03:02 +01:00
$ xdg-open "http://$(docker-compose port nginx 8080)/" & >/dev/null &
2017-09-11 15:30:52 +02:00
```
2017-04-19 16:48:21 +02:00
2018-03-08 09:52:35 +01:00
Alternatively, use something like [Reception][docker-reception] to connect to _docker-compose_ projects.
2017-11-29 15:13:55 +01:00
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
There is a more complete [Getting Started guide on our Wiki][wiki-getting-started].
[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
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
2019-11-17 17:07:02 +01:00
## Documentation
2017-04-19 16:48:21 +02:00
2019-11-17 17:07:02 +01:00
Please refer [to our wiki on Github][netbox-docker-wiki] for further information on how to use this Netbox Docker image properly.
2019-10-09 12:36:26 +02:00
It covers advanced topics such as using secret files, deployment to Kubernetes as well as NAPALM and LDAP configuration.
2017-12-13 15:50:30 +01:00
2019-11-17 17:07:02 +01:00
[netbox-docker-wiki]: https://github.com/netbox-community/netbox-docker/wiki/
2017-12-13 15:50:30 +01:00
2018-04-04 09:50:17 +02:00
## Netbox Version
2017-10-16 13:33:12 +02:00
2019-02-06 11:24:01 +01:00
The `docker-compose.yml` file is prepared to run a specific version of Netbox.
2017-10-16 13:33:12 +02:00
To use this feature, set the environment-variable `VERSION` before launching `docker-compose` , as shown below.
`VERSION` may be set to the name of
2019-02-06 11:24:01 +01:00
[any tag of the `netboxcommunity/netbox` Docker image on Docker Hub][netbox-dockerhub].
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
2020-01-23 10:36:13 +01:00
### Pre-made Docker Images
2018-08-13 23:04:09 +02:00
2020-01-23 10:36:13 +01:00
New Docker images are built and published every 24h.
2019-02-06 11:46:20 +01: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/