Releases: netbox-community/netbox-docker
Version 2.4.0
Noteworthy Changes
Update postgres Docker tag to v15 #865
Our docker-compose file was updated to use PostgreSQL 15.
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 14, i.e. before the upgrade) and restore (with a clean PostgreSQL 15, i.e. after the upgrade) 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 15, you can stick to version 14 just fine. You could do this with a docker-compose.override.yml
like so:
version: '3.4'
services:
postgres:
image: postgres:14-alpine
Added settings for CA certificates for LDAP #895
The new settings LDAP_CA_CERT_* can now be configured in environment variables
Optimize psycopg2 dependency #894
We install only one version of psycopg2
Startup scripts complete removal #893
All warnings regarding the old startup scripts were removed
Make nginx-unit listen on IPv4 and IPv6 #889
The container can now be used with IPv6.
Housekeeping var name fix #883
This fixed a bug were the housekeeping job was not run in the correct interval
Add requirements for SAML SSO #876
All Python requirements for SAML authentication are now installed per default
Address housekeeping traceback #866
This changes the startup order of the containers in the example compose file, which prevents a crash in the housekeeping job when the database was not yet initialised
Updates the configuration, changes default for dynamic parameters to None #857
All dynamic parameters can now be set correctly in the Netbox GUI when they aren't defined in environment variables.
Define a volume for the caching Redis #852
To prevent docker from creating new random volumes every time the containers are started, we now define a fixed volume for both Redis containers.
add JOBRESULT_RETENTION to configuration.py #840
JOBRESULT_RETENTION
can now be set from an environment variable
Compatibility
This version of NetBox Docker is only compatible with NetBox v3.4.x and above.
For older versions, use a previous release of NetBox Docker.
Version 2.3.0
Noteworthy Changes
In the previous version, we began to clean up NetBox Docker to make it easier to maintain and so that it breaks less often, when the upstream NetBox team releases a new version.
This version continues with more maintenance related work. It also exposes two new variables as environment variables (one general, one ldap-specific) and allows the dynamic configuration parameters to be used, while still allowing them to be set via the environment for backwards compatibility.
In the next version we will probably update the PostgreSQL version from 14 to 15.
Dependency Updates
- Update dependency psycopg2 to v2.9.4 #856
Adding the JOBRESULT_RETENTION
variable #840
The PR #840 exposes a new variable JOBRESULT_RETENTION
as an environment variable.
Thanks @tymekxxl for the PR.
Adding the AUTH_LDAP_BIND_AS_AUTHENTICATING_USER
variable #779
The PR #779 adds the new environment variable AUTH_LDAP_BIND_AS_AUTHENTICATING_USER
to the ldap configuration file. This allows NetBox Docker to bind to an LDAP server using username and password provided by the user being authenticated.
Thanks @BegBlev for the PR.
A volume for the caching Redis #852
Fixes the behavior that the caching Redis, which is actually ephemeral, creates a lot of unmanaged volumes. That is, because that's what the Redis container declares in its manifest. #852 fixes this by defining a managed volume for the caching Redis, even though it's not required otherwise.
Thanks to @Delta1977 for the PR.
Support dynamic configuration parameters #857
All the dynamic configuration parameters can now be configured via the web administration of NetBox. (You can still configure them via environment variables).
The following additional configuration parameters are now available to be configured via environment variables:
ALLOWED_URL_SCHEMES
DEVELOPER
INTERNAL_IPS
LOGIN_PERSISTENCE
CSRF_COOKIE_NAME
SESSION_COOKIE_NAME
POWERFEED_DEFAULT_AMPERAGE
POWERFEED_DEFAULT_MAX_UTILIZATION
POWERFEED_DEFAULT_VOLTAGE
Please refer to the NetBox documentation for their allowed values and proper use.
Thanks go out to @benwa for the submitting an earlier draft and bringing the topic onto our plate.
Compatibility
This version of NetBox Docker is only compatible with NetBox v3.3.x and above.
For older versions, use a previous release of NetBox Docker.
Version 2.2.0
Noteworthy Changes
Initializers are now a plugin #831
All startup scripts, initializers and ruamel.yaml
have been removed from the image. With this change we are now able to publish images faster after a release of a major NetBox version. The initializer functionality has been moved to a plugin. You can find this plugin here: https://github.com/tobiasge/netbox-initializers
Installed bzip2 #836
Some examples in our Wiki use bzip2
to compress backup data. Now we have bzip2
actually in the image.
Removed unnecessary logging from tests #835
To make the test logs clearer we removed some logging output
Update dependency django-storages to v1.13.1 #822
Changelog for django-storages
Compatibility
This version of NetBox Docker is only compatible with NetBox v3.3.x and above.
For older versions, use a previous release of NetBox Docker.
Version 2.1.0
Noteworthy Changes
Added our Python venv to the PATH variable #778
With our venv in the path manage.py
commands can be started without absolute paths
Arm64 auto build #797
Images for ARM64 are build and pushed to the registries
Using Ubuntu 22.04 because Debian has old packages #805
Because of some security concerns (#800) we use Ubuntu and its newer packages
Add requirements for OIDC SSO #786
OIDC SSO was missing some Python packages to work correctly
LDAP TLS connection use the system trusted root store #808
Restores the same behaviour that we had in the old Alpine images: LDAP connections use the certificates from the system store (#799).
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.2.x and above.
For older versions, use a previous release of Netbox Docker.
Version 2.0.0
Noteworthy Changes
This is a major release because the base image is now Debian 11. All users building their own images based on this one must check if they're using Alpine specific commands (like apk
). These have to be changed to the Debian version (apt
as example).
We are also not building images with the -ldap
tag anymore because that is now integrated into the main image.
Fix setting custom field data if custom field object is missing #730
Fixed custom fields problem in initalizers.
feat: Make startup scripts idempotent #729
Running the startup scripts multiple times after changing values won't crash anymore
Added environment variable for CSRF_TRUSTED_ORIGINS #738
CSRF_TRUSTED_ORIGINS can now be set from ENV.
Add support for DeviceType components #742
Added initializers for DeviceType components
Contact startups #728
Added initializers for Contacs and related objects.
Add MAPS_URL to config #750
MAPS_URL can now be set from ENV.
Startup script for cables #736
Added initializers for cables.
Proposing SKIP_GIT now skips all git operations #768
SKIP_GIT now skips all git calls
Update dependency napalm to v4 #791
New major release of Napalm containing a fix that prevented our image from being build.
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.2.x and above.
For older versions, use a previous release of Netbox Docker.
Version 1.6.1
Noteworthy Changes
Netbox 3.2 Database changes
WARNING: This release includes a database migration that will remove the asn
, contact_name
, contact_phone
, and contact_email
fields from the site model. (These fields have been superseded by the ASN and contact models introduced in NetBox v3.1.) To protect against the accidental destruction of data, the upgrade process will fail if any sites still have data in any of these fields. To bypass this safeguard, set the NETBOX_DELETE_LEGACY_DATA
environment variable when running the upgrade script, which will permit the destruction of legacy data.
NOTE: A set of migration scripts is available to assist with the migration of legacy site data.
Github Actions
Use current versions for our workflow
Changes for Netbox 3.2
Some minor changes to add compatibility with Netbox 3.2 were needed.
Napalm
Version 3.4.0 of Napalm is used
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.2.x and above.
For older versions, use a previous release of Netbox Docker.
Version 1.6.0
Noteworthy Changes
Added ASN initializer script #685
ASN instances can be created from initializers
Explicitly set GRAPHQL_ENABLED #695
GraphQL can now be configured from ENV variables
Cleanup & Reorg startup scripts #691
The initializer scripts have been re-sorted to make the ordering more logical. Duplicates were removed. Thanks to @ryanmerolle
Changes needed for Netbox 3.2
Some minor changes to add compatibility with Netbox 3.2 were needed (tzdata is installed, mkdocs fixed).
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.1.x and above.
For older versions, use a previous release of Netbox Docker.
Version 1.5.1
Noteworthy Changes
Fixed release action workflow #658
Release build fixed
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.1.x.
For older versions, use a previous release of Netbox Docker.
Version 1.5.0
Noteworthy Changes
Add dir to configuration file #656
This fixed #653 and enables loading of the SOCIAL_AUTH_* settings
Startup scripts typos #632, #633
Thanks to @grawert for fixing some bugs in our startup initialisers
Added ENV variables for INSECURE_SKIP_TLS_VERIFY #630
INSECURE_SKIP_TLS_VERIFY for Redis connection settings is now loaded from ENV variable
Update postgres Docker tag to v14 #594
Our docker-compose file was updated to use PostgreSQL 14.
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 13, i.e. before the upgrade) and restore (with a clean PostgreSQL 14, i.e. after the upgrade) 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 14, you can stick to version 13 just fine. You could do this with a docker-compose.override.yml
like so:
version: '3.4'
services:
postgres:
image: postgres:13-alpine
Publish image to GitHub Container Registry #621
NetBox Docker is now also published to GitHub's Container Registry: docker pull ghcr.io/netbox-community/netbox
Install postgresql-client #620
Added psql to enable use of manage.py dbshell
jq check #607
Add check for jq command to build scripts and print error if it is not found
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.1.x.
For older versions, use a previous release of Netbox Docker.
Version 1.4.1
Noteworthy Changes
Project Version in Docker Tag #583
As of this release we will have Docker tags that relate to the version of the NetBox Docker project.
Some examples:
latest-ldap
will also be taggedlatest-ldap-1.4.1
v3.0-ldap
will also be taggedv3.0-ldap-1.4.1
v3.0.2-ldap
will also be taggedv3.0.2-ldap-1.4.1
snapshot-ldap
will also be taggedsnapshot-ldap-1.4.1
latest
will also be taggedlatest-1.4.1
v3.0
will also be taggedv3.0-1.4.1
v3.0.2
will also be taggedv3.0.2-1.4.1
snapshot
will also be taggedsnapshot-1.4.1
Fix for user "101" not found
#589
As a measure to prevent the getpwnam("101") failed, user "101" not found
error, we changed the default user.
It is now the user called unit
with the user-id 100
(instead of the previous user 101
).
We don't expect this to cause troubles, as the group-id will still be 0
(i.e. root
).
You can continue to run the container with any arbitrary user-id as long as the group-id is 0
.
You should not run the container as user root
(i.e. id 0
)!
Updated dependencies #605 #608
- The
python-crc32c
dependency was updated to version1.3.0
.
It's release notes claim Python 3.10 compatibility. - The
django-storage
dependency was updated to version1.12.1
.
It's release notes state support for Django 3.2 among other changes.
Compatibility
This version of Netbox Docker is only compatible with Netbox v3.0.x.
For older versions, use a previous release of Netbox Docker.