Compare commits

..

82 Commits
2.9.1 ... 3.0.2

Author SHA1 Message Date
27bf52cf3e Merge pull request #1322 from netbox-community/develop
Version 3.0.2
2024-09-19 14:21:53 +02:00
5dea11c4d4 Preparation for 3.0.2 2024-09-19 13:43:31 +02:00
35c19d0fc8 Upgrade Nginx Unit to version 1.33 2024-09-18 17:56:55 +02:00
cd42632628 Merge pull request #1315 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.14.0
2024-09-09 17:24:58 +02:00
09c897aa22 Update dependency sentry-sdk to v2.14.0 2024-09-09 14:16:13 +00:00
656b118826 Merge pull request #1309 from tobiasge/fix-step-skipping
When no build is needed don't create the buildx config
2024-09-06 10:30:30 +02:00
f134a44bc7 When no build is needed don't create the buildx config 2024-09-06 09:50:12 +02:00
5add31ee7a Merge pull request #1301 from netbox-community/develop
Version 3.0.1
2024-09-06 09:41:54 +02:00
2d5c453350 Merge pull request #1307 from netbox-community/revert-1297-feat/multiple-ldap-require-dn
Revert "Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables"
2024-09-05 07:24:21 +02:00
942f978ed2 Revert "Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables" 2024-09-04 17:53:24 +02:00
52f38a3771 Merge pull request #1303 from tobiasge/docker-cloud-for-release
Use Docker Build Cloud for releases
2024-09-04 17:52:17 +02:00
a24c19c503 Use Docker Build Cloud for releases
With QEMU the ARM64 builds are slow and not reliable. If we use the
Docker Cloud builders we reduce the build times considerably.
As a Docker OSS organisation we get 400 build minutes per month, which
should be fine, because we already use checks if builds are really
needed. The Docker Cloud also uses a cache that should reduce build
times a little bit more.
2024-09-04 10:17:05 +02:00
f13a6bf5e4 Preparation for 3.0.1 2024-09-04 07:25:44 +02:00
52f80cc7ca Fix #1300: Disable ARM64 release 2024-09-04 07:25:04 +02:00
a7ebc148e8 Merge pull request #1299 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.13.0
2024-09-03 22:42:18 +02:00
636495e062 Merge pull request #1297 from NeodymiumFerBore/feat/multiple-ldap-require-dn
Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables
2024-09-03 22:17:03 +02:00
6e735fd431 Update dependency sentry-sdk to v2.13.0 2024-09-03 20:03:58 +00:00
ab2a7bc8e5 Merge pull request #1298 from netbox-community/develop
Version 3.0.0
2024-09-03 22:03:12 +02:00
09ba1d3f4e More linter fixes 2024-09-03 20:31:00 +02:00
f3a78bfd10 More linter fixes 2024-09-03 20:26:16 +02:00
b81d4fba64 Updated YAML formatting to fix linter 2024-09-03 20:22:55 +02:00
2c26000304 Preparation for 3.0.0 2024-09-03 20:08:36 +02:00
671f5e9411 Adapt ldap/extra: LDAPGroupQuery is now imported in ldap_config 2024-09-02 17:29:17 +00:00
d9ff19fd30 Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variable 2024-09-02 17:27:37 +00:00
cb1bc4bde6 Merge pull request #1292 from netbox-community/renovate/github-super-linter-7.x
Update github/super-linter action to v7
2024-09-01 13:59:20 +02:00
a75db6add9 Fix linter error 2024-09-01 13:23:58 +02:00
279a54bef0 Update github/super-linter action to v7 2024-08-29 19:48:38 +00:00
3f5f4ff8bb Merge pull request #1287 from tobiasge/prepare-ubuntu-24.04
Prepare for Ubuntu 24.04
2024-08-21 12:53:37 +02:00
59922f3423 Prepare for Ubuntu 24.04 2024-08-21 10:38:20 +02:00
d0f72b5fd3 Merge pull request #1281 from netbox-community/renovate/docker.io-valkey-valkey-8.x
Update docker.io/valkey/valkey Docker tag to v8
2024-08-13 16:12:33 +02:00
838a56c96f Update docker.io/valkey/valkey Docker tag to v8 2024-08-02 02:08:50 +00:00
6ee26d62e8 Merge pull request #1280 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.12.0
2024-07-31 13:05:04 +02:00
542300056c Update dependency sentry-sdk to v2.12.0 2024-07-31 10:32:58 +00:00
3c7f90cab8 Merge pull request #1279 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.11.0
2024-07-24 13:10:41 +02:00
2a15689e5f Update dependency sentry-sdk to v2.11.0 2024-07-24 10:38:05 +00:00
9c6b063408 Merge pull request #1277 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.10.0
2024-07-15 13:38:01 +02:00
3134057f87 Update dependency sentry-sdk to v2.10.0 2024-07-15 11:07:41 +00:00
56bda20a67 Merge pull request #1276 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.9.0
2024-07-10 12:13:00 +02:00
51372eed32 Update dependency sentry-sdk to v2.9.0 2024-07-10 09:41:27 +00:00
e33ff85b08 Merge pull request #1275 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.4
2024-07-09 07:00:43 +02:00
279873d20e Update dependency django-storages to v1.14.4 2024-07-09 04:30:55 +00:00
681876681d Merge pull request #1274 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.8.0
2024-07-08 12:27:57 +02:00
29e66a0a01 Update dependency sentry-sdk to v2.8.0 2024-07-08 09:58:02 +00:00
5d9aa096fd Merge pull request #1271 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.7.1
2024-06-28 20:45:17 +02:00
84132e4b59 Update dependency sentry-sdk to v2.7.1 2024-06-27 17:02:32 +00:00
da4c1a54a9 Merge pull request #1270 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.7.0
2024-06-26 16:50:22 +02:00
53418e7d19 Update dependency sentry-sdk to v2.7.0 2024-06-26 14:19:54 +00:00
368d1bca75 Merge pull request #1267 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.6.0
2024-06-19 17:36:15 +02:00
bb9a7fe542 Update dependency sentry-sdk to v2.6.0 2024-06-19 15:05:23 +00:00
15da2f0642 Merge pull request #1260 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.5.1
2024-06-10 08:04:15 +02:00
ee2d1dea17 Update dependency sentry-sdk to v2.5.1 2024-06-07 21:53:49 +00:00
402ea6e8d4 Merge pull request #1259 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.5.0
2024-06-06 21:03:39 +02:00
8017bb72b9 Merge pull request #1255 from threes33/HTTP_PROXIES
Add HTTP_PROXIES related parameters
2024-06-06 18:14:51 +02:00
33d5230859 Update dependency sentry-sdk to v2.5.0 2024-06-06 14:13:00 +00:00
f0b3a0701c Adds HTTP_PROXIES related parameters 2024-06-04 12:29:35 -07:00
1a2957238c Merge pull request #1254 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.4.0
2024-06-04 14:24:57 +02:00
ac496a16ee Update dependency sentry-sdk to v2.4.0 2024-06-04 11:52:02 +00:00
e4315245b0 Merge pull request #1203 from cimnine/valkey
Switch from Redis to Valkey and add Healthchecks
2024-05-25 16:20:07 +02:00
d4e94017b4 Merge pull request #1230 from lchastel/saml
Add xmlsec with no-binary option
2024-05-25 15:54:46 +02:00
21cf7b498d Fix port 2024-05-25 15:45:25 +02:00
2bbb2d16e1 Merge pull request #1144 from hendrikbl/remote-auth-env
add missing REMOTE_AUTH config options
2024-05-25 15:43:23 +02:00
9d04f2a7a5 Fix endpoint 2024-05-25 15:26:07 +02:00
b29f7fd446 Disable valkey persistence in tests 2024-05-25 15:24:15 +02:00
6a3ba4409e Update test to valkey as well 2024-05-25 15:24:12 +02:00
570bb311e2 Merge branch 'develop' into saml 2024-05-25 15:21:57 +02:00
5e492c63c6 Suggestion from Tobias 2024-05-25 15:17:22 +02:00
26b15f9ff1 Add healthcheck to postgres too 2024-05-25 15:17:22 +02:00
3c8449fbec Switch to valkey and add healthcheck 2024-05-25 15:17:22 +02:00
c51747a163 Merge pull request #1245 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.3.1
2024-05-25 15:00:46 +02:00
75fa7e7e99 Update dependency sentry-sdk to v2.3.1 2024-05-23 14:08:00 +00:00
9de583553d Merge pull request #1243 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.3.0
2024-05-23 13:48:50 +02:00
daa8b40c34 Update dependency sentry-sdk to v2.3.0 2024-05-23 11:23:15 +00:00
af6306db25 Merge pull request #1242 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.2.1
2024-05-21 16:20:11 +02:00
730743139e Update dependency sentry-sdk to v2.2.1 2024-05-21 12:56:09 +00:00
94e242179a Merge pull request #1240 from tobiasge/login-required-default
Change LOGIN_REQUIRED default to 'True'
2024-05-21 14:55:43 +02:00
8c691f1308 Change LOGIN_REQUIRED default to 'True' 2024-05-21 13:42:13 +02:00
b74688309a Merge pull request #1239 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.2.0
2024-05-17 07:28:00 +02:00
60e9cfd458 Update dependency sentry-sdk to v2.2.0 2024-05-16 19:29:50 +00:00
1d69e6f233 Merge pull request #1233 from Creepios/patch-1
Increase start period of netbox container healthcheck (fixes #1231)
2024-05-15 10:22:45 -04:00
918952a2a5 Update docker-compose.yml 2024-05-10 10:19:55 +02:00
c22996d7d7 Add xmlsec with no-binary option
SAML backend is still not working.
I have the issue  "lxml & xmlsec libxml2 library version mismatch".
2024-05-09 19:38:49 +02:00
9169fc7684 added missing REMOTE_AUTH config options 2024-01-30 12:14:16 +01:00
17 changed files with 326 additions and 291 deletions

View File

@ -6,7 +6,7 @@ contact_links:
- name: Chat
url: https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
about: 'Usually the quickest way to seek help with small issues is to join our #netbox-docker Slack channel.'
about: "Usually the quickest way to seek help with small issues is to join our #netbox-docker Slack channel."
- name: Community Wiki
url: https://github.com/netbox-community/netbox-docker/wiki

View File

@ -57,7 +57,7 @@ body:
- type: textarea
id: discussion
attributes:
label: 'Discussion: Benefits and Drawbacks'
label: "Discussion: Benefits and Drawbacks"
description: |
Please make your case here:
- Why do you think this project and the community will benefit from your suggestion?

View File

@ -80,6 +80,6 @@ into the release notes.
Please put an x into the brackets (like `[x]`) if you've completed that task.
-->
* [ ] I have read the comments and followed the PR template.
* [ ] I have explained my PR according to the information in the comments.
* [ ] My PR targets the `develop` branch.
- [ ] I have read the comments and followed the PR template.
- [ ] I have explained my PR according to the information in the comments.
- [ ] My PR targets the `develop` branch.

View File

@ -26,9 +26,9 @@ jobs:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: "3.9"
- name: Lint Code Base
uses: github/super-linter@v6
uses: github/super-linter@v7
env:
DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -6,7 +6,7 @@ on:
types:
- published
schedule:
- cron: '45 5 * * *'
- cron: "45 5 * * *"
workflow_dispatch:
jobs:
@ -35,19 +35,11 @@ jobs:
name: Get Version of NetBox Docker
run: echo "version=$(cat VERSION)" >>"$GITHUB_OUTPUT"
shell: bash
- id: qemu-setup
name: Set up QEMU
uses: docker/setup-qemu-action@v3
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- id: docker-build
name: Build the image with '${{ matrix.build_cmd }}'
- id: check-build-needed
name: Check if the build is needed for '${{ matrix.build_cmd }}'
env:
CHECK_ONLY: "true"
run: ${{ matrix.build_cmd }}
- id: test-image
name: Test the image
run: IMAGE="${FINAL_DOCKER_TAG}" ./test.sh
if: steps.docker-build.outputs.skipped != 'true'
# docker.io
- id: docker-io-login
name: Login to docker.io
@ -56,7 +48,15 @@ jobs:
registry: docker.io
username: ${{ secrets.dockerhub_username }}
password: ${{ secrets.dockerhub_password }}
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: "lab:latest"
driver: cloud
endpoint: "netboxcommunity/netbox-default"
if: steps.check-build-needed.outputs.skipped != 'true'
# quay.io
- id: quay-io-login
name: Login to Quay.io
@ -65,7 +65,7 @@ jobs:
registry: quay.io
username: ${{ secrets.quayio_username }}
password: ${{ secrets.quayio_password }}
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
# ghcr.io
- id: ghcr-io-login
name: Login to GitHub Container Registry
@ -74,11 +74,11 @@ jobs:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
- id: build-and-push
name: Push the image
run: ${{ matrix.build_cmd }} --push
if: steps.docker-build.outputs.skipped != 'true'
if: steps.check-build-needed.outputs.skipped != 'true'
env:
BUILDX_PLATFORM: ${{ matrix.platform }}
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}

View File

@ -1,5 +1,4 @@
---
rules:
line-length:
max: 120
max: 160

View File

@ -1,5 +1,5 @@
ARG FROM
FROM ${FROM} as builder
FROM ${FROM} AS builder
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
@ -46,7 +46,7 @@ RUN \
###
ARG FROM
FROM ${FROM} as main
FROM ${FROM} AS main
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
@ -63,17 +63,16 @@ RUN export DEBIAN_FRONTEND=noninteractive \
openssh-client \
openssl \
python3 \
python3-distutils \
tini \
&& curl --silent --output /usr/share/keyrings/nginx-keyring.gpg \
https://unit.nginx.org/keys/nginx-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ mantic unit" \
&& echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] https://packages.nginx.org/unit/ubuntu/ noble unit" \
> /etc/apt/sources.list.d/unit.list \
&& apt-get update -qq \
&& apt-get install \
--yes -qq --no-install-recommends \
unit=1.32.0-1~mantic \
unit-python3.11=1.32.0-1~mantic \
unit=1.33.0-1~noble \
unit-python3.12=1.33.0-1~noble \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /opt/netbox/venv /opt/netbox/venv

View File

@ -1 +1 @@
2.9.1
3.0.2

View File

@ -61,7 +61,7 @@ DOCKERFILE The name of Dockerfile to use.
${_GREEN}Default:${_CLEAR} Dockerfile
DOCKER_FROM The base image to use.
${_GREEN}Default:${_CLEAR} 'ubuntu:23.10'
${_GREEN}Default:${_CLEAR} 'ubuntu:24.04'
BUILDX_PLATFORMS
Specifies the platform(s) to build the image for.
@ -103,6 +103,8 @@ GH_ACTION If defined, special 'echo' statements are enabled that set the
- FINAL_DOCKER_TAG: The final value of the DOCKER_TAG env variable
${_GREEN}Default:${_CLEAR} undefined
CHECK_ONLY Only checks if the build is needed and sets the GH Action output.
${_BOLD}Examples:${_CLEAR}
${0} master
@ -219,7 +221,7 @@ fi
# Determining the value for DOCKER_FROM
###
if [ -z "$DOCKER_FROM" ]; then
DOCKER_FROM="docker.io/ubuntu:23.10"
DOCKER_FROM="docker.io/ubuntu:24.04"
fi
###
@ -355,6 +357,11 @@ else
fi
gh_echo "::endgroup::"
if [ "${CHECK_ONLY}" = "true" ]; then
echo "Only check if build needed was requested. Exiting"
exit 0
fi
###
# Build the image
###

View File

@ -200,10 +200,10 @@ if 'CENSUS_REPORTING_ENABLED' in environ:
EXEMPT_VIEW_PERMISSIONS = _environ_get_and_map('EXEMPT_VIEW_PERMISSIONS', '', _AS_LIST)
# HTTP proxies NetBox should use when sending outbound HTTP requests (e.g. for webhooks).
# HTTP_PROXIES = {
# 'http': 'http://10.10.1.10:3128',
# 'https': 'http://10.10.1.10:1080',
# }
HTTP_PROXIES = {
'http': environ.get('HTTP_PROXY', None),
'https': environ.get('HTTPS_PROXY', None),
}
# IP addresses recognized as internal to the system. The debugging toolbar will be available only to clients accessing
# NetBox from an internal IP.
@ -221,9 +221,9 @@ if 'GRAPHQL_ENABLED' in environ:
# authenticated to NetBox indefinitely.
LOGIN_PERSISTENCE = _environ_get_and_map('LOGIN_PERSISTENCE', 'False', _AS_BOOL)
# Setting this to True will permit only authenticated users to access any part of NetBox. By default, anonymous users
# are permitted to access most data in NetBox (excluding secrets) but not make any changes.
LOGIN_REQUIRED = _environ_get_and_map('LOGIN_REQUIRED', 'False', _AS_BOOL)
# When enabled, only authenticated users are permitted to access any part of NetBox.
# Disabling this will allow unauthenticated users to access most areas of NetBox (but not make any changes).
LOGIN_REQUIRED = _environ_get_and_map('LOGIN_REQUIRED', 'True', _AS_BOOL)
# The length of time (in seconds) for which a user will remain logged into the web UI before being prompted to
# re-authenticate. (Default: 1209600 [14 days])
@ -286,12 +286,23 @@ if 'RACK_ELEVATION_DEFAULT_UNIT_WIDTH' in environ:
RACK_ELEVATION_DEFAULT_UNIT_WIDTH = _environ_get_and_map('RACK_ELEVATION_DEFAULT_UNIT_WIDTH', None, _AS_INT)
# Remote authentication support
REMOTE_AUTH_ENABLED = _environ_get_and_map('REMOTE_AUTH_ENABLED', 'False', _AS_BOOL)
REMOTE_AUTH_BACKEND = _environ_get_and_map('REMOTE_AUTH_BACKEND', 'netbox.authentication.RemoteUserBackend', _AS_LIST)
REMOTE_AUTH_HEADER = environ.get('REMOTE_AUTH_HEADER', 'HTTP_REMOTE_USER')
REMOTE_AUTH_AUTO_CREATE_GROUPS = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_GROUPS', 'False', _AS_BOOL)
REMOTE_AUTH_AUTO_CREATE_USER = _environ_get_and_map('REMOTE_AUTH_AUTO_CREATE_USER', 'False', _AS_BOOL)
REMOTE_AUTH_BACKEND = _environ_get_and_map('REMOTE_AUTH_BACKEND', 'netbox.authentication.RemoteUserBackend', _AS_LIST)
REMOTE_AUTH_DEFAULT_GROUPS = _environ_get_and_map('REMOTE_AUTH_DEFAULT_GROUPS', '', _AS_LIST)
# REMOTE_AUTH_DEFAULT_PERMISSIONS = {}
# REMOTE_AUTH_DEFAULT_PERMISSIONS = {} # dicts can't be configured via environment variables. See extra.py instead.
REMOTE_AUTH_ENABLED = _environ_get_and_map('REMOTE_AUTH_ENABLED', 'False', _AS_BOOL)
REMOTE_AUTH_GROUP_HEADER = _environ_get_and_map('REMOTE_AUTH_GROUP_HEADER', 'HTTP_REMOTE_USER_GROUP')
REMOTE_AUTH_GROUP_SEPARATOR = _environ_get_and_map('REMOTE_AUTH_GROUP_SEPARATOR', '|')
REMOTE_AUTH_GROUP_SYNC_ENABLED = _environ_get_and_map('REMOTE_AUTH_GROUP_SYNC_ENABLED', 'False', _AS_BOOL)
REMOTE_AUTH_HEADER = environ.get('REMOTE_AUTH_HEADER', 'HTTP_REMOTE_USER')
REMOTE_AUTH_USER_EMAIL = environ.get('REMOTE_AUTH_USER_EMAIL', 'HTTP_REMOTE_USER_EMAIL')
REMOTE_AUTH_USER_FIRST_NAME = environ.get('REMOTE_AUTH_USER_FIRST_NAME', 'HTTP_REMOTE_USER_FIRST_NAME')
REMOTE_AUTH_USER_LAST_NAME = environ.get('REMOTE_AUTH_USER_LAST_NAME', 'HTTP_REMOTE_USER_LAST_NAME')
REMOTE_AUTH_SUPERUSER_GROUPS = _environ_get_and_map('REMOTE_AUTH_SUPERUSER_GROUPS', '', _AS_LIST)
REMOTE_AUTH_SUPERUSERS = _environ_get_and_map('REMOTE_AUTH_SUPERUSERS', '', _AS_LIST)
REMOTE_AUTH_STAFF_GROUPS = _environ_get_and_map('REMOTE_AUTH_STAFF_GROUPS', '', _AS_LIST)
REMOTE_AUTH_STAFF_USERS = _environ_get_and_map('REMOTE_AUTH_STAFF_USERS', '', _AS_LIST)
# This repository is used to check whether there is a new release of NetBox available. Set to None to disable the
# version check or use the URL below to check for release in the official NetBox repository.

View File

@ -1,6 +1,6 @@
services:
netbox: &netbox
image: ${IMAGE-netboxcommunity/netbox:latest}
image: ${IMAGE-docker.io/netboxcommunity/netbox:latest}
depends_on:
postgres:
condition: service_healthy
@ -13,10 +13,10 @@ services:
volumes:
- ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
healthcheck:
test: curl -f http://localhost:8080/login/ || exit 1
start_period: ${NETBOX_START_PERIOD-120s}
timeout: 3s
interval: 15s
test: "curl -f http://localhost:8080/api/ || exit 1"
netbox-worker:
<<: *netbox
command:
@ -24,42 +24,47 @@ services:
- /opt/netbox/netbox/manage.py
- rqworker
healthcheck:
test: ps -aux | grep -v grep | grep -q rqworker || exit 1
start_period: 40s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q rqworker || exit 1"
netbox-housekeeping:
<<: *netbox
command:
- /opt/netbox/housekeeping.sh
healthcheck:
test: ps -aux | grep -v grep | grep -q housekeeping || exit 1
start_period: 40s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q housekeeping || exit 1"
postgres:
image: postgres:16-alpine
image: docker.io/postgres:16-alpine
env_file: env/postgres.env
healthcheck:
test: "pg_isready -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER" ## $$ because of docker-compose
interval: 10s
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER ## $$ because of docker-compose
start_period: 20s
interval: 1s
timeout: 5s
retries: 5
redis: &redis
image: redis:7-alpine
image: docker.io/valkey/valkey:8.0-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
- valkey-server --save "" --appendonly no --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
env_file: env/redis.env
healthcheck:
start_period: 20s
test: "[ $$(valkey-cli --pass \"$${REDIS_PASSWORD}\" ping) = 'PONG' ]"
start_period: 5s
timeout: 3s
interval: 15s
test: "timeout 2 redis-cli ping"
interval: 1s
retries: 5
redis-cache:
<<: *redis
env_file: env/redis-cache.env
volumes:
netbox-media-files:
driver: local

View File

@ -1,17 +1,17 @@
services:
netbox: &netbox
image: docker.io/netboxcommunity/netbox:${VERSION-v4.0-2.9.1}
image: docker.io/netboxcommunity/netbox:${VERSION-v4.1-3.0.2}
depends_on:
- postgres
- redis
- redis-cache
env_file: env/netbox.env
user: 'unit:root'
user: "unit:root"
healthcheck:
start_period: 60s
test: curl -f http://localhost:8080/login/ || exit 1
start_period: 90s
timeout: 3s
interval: 15s
test: "curl -f http://localhost:8080/login/ || exit 1"
volumes:
- ./configuration:/etc/netbox/config:z,ro
- netbox-media-files:/opt/netbox/netbox/media:rw
@ -27,10 +27,10 @@ services:
- /opt/netbox/netbox/manage.py
- rqworker
healthcheck:
test: ps -aux | grep -v grep | grep -q rqworker || exit 1
start_period: 20s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q rqworker || exit 1"
netbox-housekeeping:
<<: *netbox
depends_on:
@ -39,34 +39,47 @@ services:
command:
- /opt/netbox/housekeeping.sh
healthcheck:
test: ps -aux | grep -v grep | grep -q housekeeping || exit 1
start_period: 20s
timeout: 3s
interval: 15s
test: "ps -aux | grep -v grep | grep -q housekeeping || exit 1"
# postgres
postgres:
image: docker.io/postgres:16-alpine
healthcheck:
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER
start_period: 20s
timeout: 30s
interval: 10s
retries: 5
env_file: env/postgres.env
volumes:
- netbox-postgres-data:/var/lib/postgresql/data
# redis
redis:
image: docker.io/redis:7-alpine
image: docker.io/valkey/valkey:8.0-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
- valkey-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
healthcheck: &redis-healthcheck
test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
start_period: 5s
timeout: 3s
interval: 1s
retries: 5
env_file: env/redis.env
volumes:
- netbox-redis-data:/data
redis-cache:
image: docker.io/redis:7-alpine
image: docker.io/valkey/valkey:8.0-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
- valkey-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
healthcheck: *redis-healthcheck
env_file: env/redis-cache.env
volumes:
- netbox-redis-cache-data:/data

View File

@ -1,5 +1,5 @@
django-auth-ldap==4.8.0
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.14.3
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.14.4
dulwich==0.22.1
python3-saml==1.16.0 --no-binary lxml
sentry-sdk[django]==2.1.1
python3-saml==1.16.0 --no-binary lxml,xmlsec
sentry-sdk[django]==2.14.0

View File

@ -4,3 +4,4 @@ LOGGING = {
}
DEFAULT_PERMISSIONS = {}
LOGIN_REQUIRED = False

View File

@ -84,7 +84,7 @@ test_netbox_web() {
--retry 5 \
--retry-delay 0 \
--retry-max-time 40 \
http://127.0.0.1:8000/
http://127.0.0.1:8000/login/
)
if [ "$RESP_CODE" == "200" ]; then
echo "Webservice running"