Skip to content

Releases: netbox-community/netbox-docker

Version 2.4.0

15 Dec 14:38
39c7de4
Compare
Choose a tag to compare

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

02 Nov 10:21
8b16b16
Compare
Choose a tag to compare

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

01 Sep 10:12
3f1e45f
Compare
Choose a tag to compare

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

25 Jul 06:20
ebda466
Compare
Choose a tag to compare

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

12 Jul 16:11
b45934c
Compare
Choose a tag to compare

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

06 Apr 08:00
61a3afb
Compare
Choose a tag to compare

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

21 Feb 11:19
226d843
Compare
Choose a tag to compare

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

09 Dec 11:37
58a1579
Compare
Choose a tag to compare

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

09 Dec 07:49
b510862
Compare
Choose a tag to compare

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

14 Oct 05:48
9c66cc4
Compare
Choose a tag to compare

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 tagged latest-ldap-1.4.1
  • v3.0-ldap will also be tagged v3.0-ldap-1.4.1
  • v3.0.2-ldap will also be tagged v3.0.2-ldap-1.4.1
  • snapshot-ldap will also be tagged snapshot-ldap-1.4.1
  • latest will also be tagged latest-1.4.1
  • v3.0 will also be tagged v3.0-1.4.1
  • v3.0.2 will also be tagged v3.0.2-1.4.1
  • snapshot will also be tagged snapshot-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 version 1.3.0.
    It's release notes claim Python 3.10 compatibility.
  • The django-storage dependency was updated to version 1.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.