Releases: netbox-community/netbox-docker
Version 0.21.1
This release fixes outdated information in the README file.
Please be sure to also check the release notes for the main version, 0.21.0
if you haven't done so already!
Compatibility
This version is compatible with Netbox 2.7.x (and hopefully later versions as well).
Known Issues
There are no known issues.
Version 0.21.0
This is the first release that is compatible with Netbox Docker 2.7.x.
The Docker Images with the tags 2.7
, 2.7.0
, 2.7.1
and 2.7.2
have been updated on Docker Hub.
If you have not updated this project since January 2020, please be sure to also check the release notes for the previous version, 0.20.0
!
This release contains the following notable changes:
Compatibility with Netbox 2.7 #209
This project has been updated to work with Netbox 2.7.
Updates to our configuration.py
file were necessary. This should not impact you if you upgrade from an earlier version of our project. But you will have the possibility to use separate Redis instances for caching and for the rqworker (i.e. webhooks delivery). The current Redis variables are used for the rqworker (i.e. REDIS_HOST
, REDIS_PORT
, etc.) and there are new variables for the cache (i.e. REDIS_CACHE_HOST
, REDIS_CACHE_PORT
, etc.). If the variables REDIS_CACHE_*
are not defined the configuration file will fall back to the REDIS_*
counterparts.
Please note that it is no longer possible to run Netbox without Redis. The variable WEBHOOKS_ENABLED
was removed upstream.
Updates to the default startup scripts were necessary. If you have files in the initializers
directory, be aware of the following breaking changes:
initializers/custom_fields.yml
: (see c001626)- the
selection
type was changed toselect
select_field: - type: selection + type: select label: Choose between items required: false filter_logic: exact weight: 30 on_objects: - dcim.models.Device choices: - value: First Item weight: 10 - value: Second Item weight: 20
- the
initializers/racks.yml
(see 7b914d3)- Rack types must match one of the 5 rack types given, e.g. '4-post-cabinet'.
- Rack width must match one of the 2 rack widths given, i.e. '19' or '23'.
- site: AMS 2 name: rack-02 role: Role 2 - type: 4-post cabinet + type: 4-post-cabinet - width: 19 inches + width: 19 u_height: 47 custom_fields: text_field: Description
initializers/devices.yml
(see 4a58676)- Make sure the rack face is spelled in all-lowercase characters.
- name: server01 device_role: server device_type: Other site: AMS 1 rack: rack-01 - face: Front + face: front position: 1 custom_fields: text_field: Description
initializers/vlans.yml
(see 8d8b9a1)- Make sure the status is spelled in all-lowercase characters.
- name: vlan1 site: AMS 1 - status: Active + status: active vid: 5 role: Main Management description: VLAN 5 for MGMT
initializers/prefixes.yml
(see f3403cd)- Make sure the status is spelled in all-lowercase characters.
- description: prefix1 prefix: 10.1.1.0/24 site: AMS 1 - status: Active + status: active tenant: tenant1 vlan: vlan1
initializers/virtual_machines.yml
(see f3403cd)- Make sure the status is spelled in all-lowercase characters.
- cluster: cluster1 comments: VM1 disk: 200 memory: 4096 name: virtual machine 1 platform: Platform 2 - status: Active + status: active tenant: tenant1 vcpus: 8 - cluster: cluster1 comments: VM2 disk: 100 memory: 2048 name: virtual machine 2 platform: Platform 2
initializers/dcim_interfaces.yml
- Make sure the type is a value out of the possible choices and is spelled in all-lowercase characters.
- All possible choices are found in Netbox's
dcim/choices.py
- device: server01 enabled: true - type: Virtual + type: virtual name: to-server02
initializers/ip_addresses.yml
- Make sure the status is spelled in all-lowercase characters.
- address: 10.1.1.1/24 device: server01 interface: to-server02 - status: Active + status: active vrf: vrf1
New Build System #214 #222
We've changed our build system once more. It is based on Github Actions now. This provides us more flexibility and hopefully more reliable feedback on pull requests.
Our users should benefit as well by having more reliable releases when a new version of Netbox is out.
The last benefit is that all build-related configurations are now in this repository. This means we can track changes and retrieve pull-requests on them. Additionally, forks get the same build-configuration as well.
Default branch is release
We have switched to a new branching model in the previous version of this project.
Thereby we changed the default branch to be the develop
branch. This has led to some confusion. We are now changing the default branch back to the stable branch, i.e. release
.
This is also due to the new build system (see above).
Compatibility
This version is compatible with Netbox 2.7.x (and hopefully later versions as well).
Known Issues
There are no known issues.
Version 0.20.0
This release contains the following notable changes:
New Branching Model #184 #202
We have switched the branching model of this repository. What was the master
branch will become the release
branch. There is a new develop
branch already.
This new branching model and the reasons for the change are documented in our wiki.
If you want to update your local docker-compose scripts, this means you have to checkout the new branch:
git fetch --prune
git checkout -b release --track origin/release
Non-Root image #172 #186
The Netbox Docker image was enhanced to be compatible with setups that require the container to be run as non-root user. This was suggested originally by @Furragen in #172 and was implemented in #186.
The changes to the image are kept to a minimum. You can now run the netbox
and netbox-worker
containers by defining an uid, e.g. 101
. The way Linux works is that this user does not have to exist, so we don't actually create it.
All files created with this new image will be created using umask 002
.
Upgrade instructions
If you have read-write-enabled mounts (e.g. for the media folder of Netbox), make sure that they are group-writable for root. The same is valid for the static filed folder.
The simplest way to do this is by deleting the volume:
docker-compose stop netbox
docker volume rm netbox-docker_netbox-static-files
docker-compose up -d netbox
(If your project folder is not called netbox-docker
, use the following command to figure out the name of the volume to delete: docker volume ls | grep netbox-static-files
).
PostgreSQL 11 #195
Our docker-compose file was updated to use PostgreSQL 11.
If you have experience with running Netbox with PostgreSQL 12, please open an issue.
We'd love to upgrade!
Also note that you will need to take manual action after you upgrade a live PostgreSQL database.
If your database is not too big, a full backup (with PostgreSQL 10) and restore (with a clean PostgreSQL 11) is probably the easiest to achieve. Our troubleshooting wiki page has instructions on how to backup and restore a Netbox database. Please test the procedure on a test system first!
Note that there is no requirement to update to PostgreSQL 11, you can stick to version 10 just fine. You could do this with a docker-compose.override.yml
like so:
version: '3.4'
services:
postgres:
image: postgres:10-alpine
Redis 5 #194
Our docker-compose file was updated to use Redis 5.
Massive Speedup in startup_scripts #207
It was possible to change the way the startup_scripts are executed. Initializers are startup_scripts as well, and they ship by default.
Before it used to take minutes to run through all the startup_scripts, now it's a matter of seconds.
There's almost no reason anymore to disable the execution of startup_scripts ;)
SSLMODE for PostgreSQL #177
A contribution by @sdktr enables the use of TLS when connection to a PostgreSQL database. TLS is often required if you use this image on cloud platforms. The default mode is set to prefer
, which means that if TLS is available, Netbox will use it. Else it will fall-back to the unencrypted connection.
Documentation moved to the Wiki #189
Most of our documentation was removed from the README.md
file, which has grown quite a bit.
That file now only contains the bare-minimum to get started with Netbox Docker.
Everything else, especially the troubleshooting section, are now in our wiki.
Maintenance
There have been a bunch of other maintenance tasks. See milestone 0.20.0 for a list of issues that are related to this release.
Compatibility
This version is compatible with Netbox 2.6.x, and probably earlier.
Known Issues
It seems that are labels are not correctly applied when we build our image on Docker Hub. See #210 .
Version 0.19.4
This release contains the following changes:
More Labels in the Docker Image & Badges in the README #185
The Docker image will contain more labels. The labels follow label-schema.org and the OpenContainer image spec, section annotations, specifications.
This provides more information for debugging problems and allows MicroBadger to extract information from the Docker image.
This repository now also displays some status badges in the README:
Ignore local override file #187
@markhoney shared how he customizes the docker-compose.yml
file: He creates a docker-compose.override.yml
file, an official docker-compose feature. He also submitted a PR that adds that file to the .gitignore
file. Thank you!
Update Nginx to 1.17 #188
@edenpark59 suggested to update Nginx to a more recent version and submitted a PR. Thank you!
Respect SKIP_GIT
#191
@mattolenik reported that the SKIP_GIT
environment variable of the build.sh
script has no effect and submitted a PR to fix that. Thank you!
Known Issues
There are no known issues.
Version 0.19.3
Version 0.19.2
This release is a bugfix release for #170. Thanks to @fdebonneval for reporting this first and to @tobiasge for providing a fix.
Known Issues
There are no known issues.
Version 0.19.1
Version 0.19.0
This is a huge release that changes completely how this image is built:
- Using multi stage builds to
- separate the compilation of the Python wheels
- merge the two Dockerfiles into one
- this results in Docker Images that are about half as big
- Downloading netbox externally
- ... instead of in the Dockerfile
- which makes it more efficient for Docker to cache the build layers
- which reduces build time, especially locally
- Enable test builds for PRs
- Regularly build tags, and not only when a new Netbox version is released.
✅ If you just use the image to run Netbox, nothing should notably change for you.
✅ If you extend the image for your own purposes, nothing should change for your either.
./build.sh
or maintain your own Netbox clone. See the wiki page on building the Netbox Docker image.
Known Issues
There are no known issues.
Version 0.18.2
This release is a bugfix release to address #165.
See also the release notes from 0.18.0.
Known Issues
There are no known issues.
Caveats
As always, it will take some time for the Docker images to appear on Docker Hub. Existing Docker Images tagged with v2.6.6
(or older) will not be updated. v2.6
will only be updated if a new version v2.6.7
(or later) of Netbox is released.
Outlook
The PRs #159 and #164 are on the horizon, in which the Dockerfile is reworked. Any input on the PRs is appreciated.
Version 0.18.1
This release includes the following changes:
- Most of the documentation was moved from the README.md to [the wiki][wiki].
See also the release notes from 0.18.0.
Known Issues
There are no known issues.
Caveats
As always, it will take some time for the Docker images to appear on Docker Hub. Existing Docker Images tagged with v2.6.6
(or older) will not be updated. v2.6
will only be updated if a new version v2.6.7
(or later) of Netbox is released.
Outlook
There is PR #159 in which the Dockerfile is reworked. Any input on the PR is appreciated.