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 )
2023-03-15 10:16:50 +01:00
![Github release workflow ](https://img.shields.io/github/actions/workflow/status/netbox-community/netbox-docker/release.yml?branch=release )
2019-11-17 17:07:02 +01:00
![Docker Pulls ](https://img.shields.io/docker/pulls/netboxcommunity/netbox )
[![GitHub license ](https://img.shields.io/github/license/netbox-community/netbox-docker )][netbox-docker-license]
2022-08-09 08:29:45 +02:00
[The GitHub repository][netbox-docker-github] houses the components needed to build NetBox as a container.
2021-10-19 17:14:48 +02:00
Images are built regularly using the code in that repository and are pushed to [Docker Hub][netbox-dockerhub], [Quay.io][netbox-quayio] and [GitHub Container Registry][netbox-ghcr].
2017-12-13 15:50:30 +01:00
2020-03-17 16:07:15 +01:00
Do you have any questions?
2021-03-04 09:59:05 +01:00
Before opening an issue on Github,
2021-10-19 17:14:48 +02:00
please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] 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
2020-12-15 00:28:43 +01:00
[netbox-dockerhub]: https://hub.docker.com/r/netboxcommunity/netbox/
2021-10-19 17:14:48 +02:00
[netbox-quayio]: https://quay.io/repository/netboxcommunity/netbox
2021-12-09 22:06:59 +01:00
[netbox-ghcr]: https://github.com/netbox-community/netbox-docker/pkgs/container/netbox
2019-10-12 15:16:17 +02:00
[netbox-docker-github]: https://github.com/netbox-community/netbox-docker/
2021-03-04 09:59:05 +01:00
[netbox-docker-slack]: https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
[netbox-docker-slack-channel]: https://netdev-community.slack.com/archives/C01P0GEVBU7
[netbox-slack-channel]: https://netdev-community.slack.com/archives/C01P0FRSXRV
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
2017-04-19 16:48:21 +02:00
## Quickstart
2021-10-19 17:10:50 +02:00
To get _NetBox Docker_ up and running run the following commands.
2020-03-17 16:07:15 +01:00
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
2023-01-03 15:06:46 +01:00
docker compose pull
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.
2021-02-04 21:48:08 +01:00
You should see the NetBox homepage.
2017-04-19 16:48:21 +02:00
2023-03-15 07:45:15 +01:00
To create the first admin user run this command:
```bash
docker compose exec netbox /opt/netbox/netbox/manage.py createsuperuser
```
If you need to restart Netbox from an empty database often, you can also set the `SUPERUSER_*` variables in your `docker-compose.override.yml` as shown in the example.
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
2017-12-13 15:50:30 +01:00
2021-10-19 17:10:50 +02:00
## Container Image Tags
New container images are built and published automatically every ~24h.
> We recommend to use either the `vX.Y.Z-a.b.c` tags or the `vX.Y-a.b.c` tags in production!
* `vX.Y.Z-a.b.c` , `vX.Y-a.b.c` :
These are release builds containing _NetBox version_ `vX.Y.Z` .
They contain the support files of _NetBox Docker version_ `a.b.c` .
2021-10-19 17:28:12 +02:00
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
2021-10-19 17:10:50 +02:00
These images are automatically built from [the corresponding releases of NetBox][netbox-releases].
* `latest-a.b.c` :
These are release builds, containing the latest stable version of NetBox.
They contain the support files of _NetBox Docker version_ `a.b.c` .
2021-10-19 17:28:12 +02:00
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
2021-10-19 17:10:50 +02:00
These images are automatically built from [the `master` branch of NetBox][netbox-master].
* `snapshot-a.b.c` :
2021-12-09 22:23:03 +01:00
These are prerelease builds.
2021-10-19 17:10:50 +02:00
They contain the support files of _NetBox Docker version_ `a.b.c` .
2021-10-19 17:28:12 +02:00
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
2021-10-19 17:10:50 +02:00
These images are automatically built from the [`develop` branch of NetBox][netbox-develop].
2021-10-19 17:28:12 +02:00
For each of the above tag, there is an extra tag:
2021-10-19 17:10:50 +02:00
* `vX.Y.Z` , `vX.Y` :
This is the same version as `vX.Y.Z-a.b.c` (or `vX.Y-a.b.c` , respectively).
It always points to the latest version of _NetBox Docker_ .
* `latest`
This is the same version as `latest-a.b.c` .
It always points to the latest version of _NetBox Docker_ .
* `snapshot`
This is the same version as `snapshot-a.b.c` .
It always points to the latest version of _NetBox Docker_ .
[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
2020-03-17 16:07:15 +01:00
## Documentation
2021-12-09 22:23:03 +01:00
Please refer [to our wiki on GitHub][netbox-docker-wiki] for further information on how to use the NetBox Docker image properly.
2023-04-08 08:07:07 +02:00
The wiki covers advanced topics such as using files for secrets, configuring TLS, deployment to Kubernetes, monitoring and configuring LDAP.
2021-10-19 17:22:19 +02:00
Our wiki is a community effort.
Feel free to correct errors, update outdated information or provide additional guides and insights.
2020-03-17 16:07:15 +01:00
[netbox-docker-wiki]: https://github.com/netbox-community/netbox-docker/wiki/
## Getting Help
2021-12-09 22:23:03 +01:00
Feel free to ask questions in our [GitHub Community][netbox-community]
2021-03-04 09:59:05 +01:00
or [join our Slack][netbox-docker-slack] and ask [in our channel `#netbox-docker` ][netbox-docker-slack-channel],
2020-12-15 00:50:02 +01:00
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
2021-03-04 09:59:05 +01:00
If you need help with using NetBox or developing for it or against it's API
you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack instance very helpful.
2020-03-17 16:07:15 +01:00
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
2022-08-09 08:29:45 +02:00
This project relies only on _Docker_ and _docker-compose_ meeting these requirements:
2017-10-16 13:09:17 +02:00
2022-08-09 08:29:45 +02:00
* The _Docker version_ must be at least `20.10.10` .
* The _containerd version_ must be at least `1.5.6` .
* The _docker-compose version_ must be at least `1.28.0` .
2017-10-16 13:09:17 +02:00
2023-01-03 15:06:46 +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
2021-10-19 17:22:19 +02:00
## Updating
2019-10-09 12:36:26 +02:00
Please read [the release notes][releases] carefully when updating to a new image version.
2021-10-19 17:22:19 +02:00
Note that the version of the NetBox Docker container image must stay in sync with the code.
If you update for the first time, be sure [to follow our _How To Update NetBox Docker_ guide in the wiki][netbox-docker-wiki-updating].
2019-10-09 12:36:26 +02:00
[releases]: https://github.com/netbox-community/netbox-docker/releases
2021-10-19 17:22:19 +02:00
[netbox-docker-wiki-updating]: https://github.com/netbox-community/netbox-docker/wiki/Updating
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
2021-10-19 17:10:50 +02:00
`./build.sh` can be used to rebuild the container 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.
2021-02-04 21:48:08 +01:00
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
2021-03-11 18:10:09 +01:00
## Support
2017-09-11 15:30:52 +02:00
2021-03-11 18:10:09 +01:00
This repository is currently maintained by the community.
Please consider sponsoring the maintainers of this project.