2017-04-19 09:48:21 -05:00
# netbox-docker
2019-11-17 10:07:02 -06: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 02:35:30 -06:00
![Github release workflow ](https://img.shields.io/github/workflow/status/netbox-community/netbox-docker/release )
2019-11-17 10:07:02 -06: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 02:49:11 -06:00
[The Github repository ](netbox-docker-github ) houses the components needed to build Netbox as a Docker container.
2019-07-30 06:45:08 -05:00
Images are built using this code and are released to [Docker Hub][netbox-dockerhub] once a day.
2017-12-13 08:50:30 -06:00
2019-10-12 08:16:17 -05: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 02:44:14 -05:00
2019-11-17 10:07:02 -06: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 04:24:01 -06:00
[netbox-dockerhub]: https://hub.docker.com/r/netboxcommunity/netbox/tags/
2019-10-12 08:16:17 -05:00
[netbox-docker-github]: https://github.com/netbox-community/netbox-docker/
2018-09-27 02:44:14 -05:00
[ntc-slack]: http://slack.networktocode.com/
2019-10-12 08:16:17 -05:00
[netbox-docker-slack]: https://slack.com/app_redirect?channel=netbox-docker& team=T09LQ7E9E
2020-01-23 03:26:21 -06:00
[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE
2019-11-17 10:07:02 -06: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 09:48:21 -05:00
## Quickstart
2019-12-10 14:44:11 -06:00
To get Netbox up and running in Docker:
2017-04-19 09:48:21 -05:00
2019-07-02 14:32:58 -05:00
```bash
2019-12-10 14:44:11 -06:00
git clone -b release https://github.com/netbox-community/netbox-docker.git
2019-07-02 14:32:58 -05:00
cd netbox-docker
docker-compose pull
docker-compose up -d
2017-04-19 09:48:21 -05:00
```
2017-09-11 08:30:52 -05:00
The application will be available after a few minutes.
2017-12-26 16:03:02 -06:00
Use `docker-compose port nginx 8080` to find out where to connect to.
2017-09-11 08:30:52 -05:00
2019-07-02 14:32:58 -05:00
```bash
2017-12-26 16:03:02 -06:00
$ echo "http://$(docker-compose port nginx 8080)/"
2017-09-11 08:30:52 -05:00
http://0.0.0.0:32768/
# Open netbox in your default browser on macOS:
2017-12-26 16:03:02 -06:00
$ open "http://$(docker-compose port nginx 8080)/"
2017-09-11 08:30:52 -05:00
# Open netbox in your default browser on (most) linuxes:
2017-12-26 16:03:02 -06:00
$ xdg-open "http://$(docker-compose port nginx 8080)/" & >/dev/null &
2017-09-11 08:30:52 -05:00
```
2017-04-19 09:48:21 -05:00
2018-03-08 02:52:35 -06:00
Alternatively, use something like [Reception][docker-reception] to connect to _docker-compose_ projects.
2017-11-29 08:13:55 -06:00
2019-11-20 04:09:37 -06:00
The default credentials are:
2017-04-19 09:48:21 -05:00
* Username: **admin**
* Password: **admin**
2017-11-29 08:13:55 -06:00
* API Token: **0123456789abcdef0123456789abcdef01234567**
2017-04-19 09:48:21 -05:00
2019-11-20 04:09:37 -06: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 04:24:01 -06:00
[docker-reception]: https://github.com/nxt-engineering/reception
2017-12-13 08:50:30 -06:00
2017-10-16 06:09:17 -05:00
## Dependencies
2019-11-26 05:27:25 -06:00
This project relies only on *Docker* and *docker-compose* meeting these requirements:
2017-10-16 06:09:17 -05:00
2019-10-10 05:42:10 -05:00
* The *Docker version* must be at least `17.05` .
* The *docker-compose version* must be at least `1.17.0` .
2017-10-16 06:09:17 -05:00
2019-11-26 05:28:43 -06:00
To check the version installed on your system run `docker --version` and `docker-compose --version` .
2017-10-16 06:09:17 -05:00
2019-11-17 10:07:02 -06:00
## Documentation
2017-04-19 09:48:21 -05:00
2019-11-17 10:07:02 -06: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 05:36:26 -05:00
It covers advanced topics such as using secret files, deployment to Kubernetes as well as NAPALM and LDAP configuration.
2017-12-13 08:50:30 -06:00
2019-11-17 10:07:02 -06:00
[netbox-docker-wiki]: https://github.com/netbox-community/netbox-docker/wiki/
2017-12-13 08:50:30 -06:00
2018-04-04 02:50:17 -05:00
## Netbox Version
2017-10-16 06:33:12 -05:00
2019-02-06 04:24:01 -06:00
The `docker-compose.yml` file is prepared to run a specific version of Netbox.
2017-10-16 06:33:12 -05: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 04:24:01 -06:00
[any tag of the `netboxcommunity/netbox` Docker image on Docker Hub][netbox-dockerhub].
2017-10-16 06:33:12 -05:00
2019-07-02 14:32:58 -05:00
```bash
2020-01-20 02:01:18 -06:00
export VERSION=v2.7.1
2019-07-02 14:32:58 -05:00
docker-compose pull netbox
docker-compose up -d
2017-10-16 06:33:12 -05:00
```
2019-10-13 09:00:42 -05: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 06:33:12 -05:00
2019-07-02 14:32:58 -05:00
```bash
2020-01-20 02:01:18 -06:00
export VERSION=v2.7.1
2019-10-13 09:00:42 -05:00
./build.sh $VERSION
2019-07-02 14:32:58 -05:00
docker-compose up -d
2017-10-16 06:33:12 -05:00
```
2017-12-13 08:50:30 -06:00
[git-ref]: https://git-scm.com/book/en/v2/Git-Internals-Git-References
2019-07-02 14:32:58 -05:00
[netbox-github]: https://github.com/netbox-community/netbox/releases
2017-12-13 08:50:30 -06:00
2019-05-08 04:43:29 -05:00
## Breaking Changes
2018-04-04 02:44:58 -05:00
2018-08-13 16:04:09 -05: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.
2019-11-17 10:07:02 -06: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-20 02:01:18 -06:00
You can check the label of your local image by running `docker inspect netboxcommunity/netbox:v2.7.1 --format "{{json .ContainerConfig.Labels}}"` .
2019-10-09 05:36:26 -05: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 04:46:20 -06:00
2017-09-11 08:30:52 -05:00
## Rebuilding & Publishing images
2019-02-06 04:24:01 -06:00
`./build.sh` can be used to rebuild the Docker image. See `./build.sh --help` for more information.
2017-08-30 04:10:55 -05:00
2018-08-13 16:04:09 -05:00
### Publishing Docker Images
2019-02-06 04:46:20 -06:00
New Docker images are built and published every 24h on the [Docker Build Infrastructure][docker-build-infra].
2019-02-06 04:24:01 -06:00
`DOCKER_HUB.md` contains more information about the build infrastructure.
2018-08-13 16:04:09 -05:00
2019-02-06 04:46:20 -06:00
[docker-build-infra]: https://hub.docker.com/r/netboxcommunity/netbox/builds/
2017-08-30 04:10:55 -05:00
## Tests
2019-02-06 04:24:01 -06:00
To run the tests coming with Netbox, use the `docker-compose.yml` file as such:
2017-08-30 04:10:55 -05:00
2019-07-02 14:32:58 -05:00
```bash
docker-compose run netbox ./manage.py test
2017-08-30 04:10:55 -05:00
```
2017-09-11 08:30:52 -05:00
## About
2019-02-06 04:46:20 -06:00
This repository is currently maintained and funded by [nxt][nxt].
[nxt]: https://nxt.engineering/en/