Compare commits

...

201 Commits

Author SHA1 Message Date
f64ae49f18 Update docker-compose.yml
Some checks failed
release / Builds new NetBox Docker Images (map[branch:develop cmd:./build.sh feature], linux/amd64,linux/arm64) (push) Has been cancelled
release / Builds new NetBox Docker Images (map[branch:develop cmd:PRERELEASE=true ./build-latest.sh], linux/amd64,linux/arm64) (push) Has been cancelled
release / Builds new NetBox Docker Images (map[branch:release cmd:./build-latest.sh], linux/amd64,linux/arm64) (push) Has been cancelled
release / Builds new NetBox Docker Images (map[branch:release cmd:./build.sh main], linux/amd64,linux/arm64) (push) Has been cancelled
2025-05-20 21:43:56 +02:00
4f645769df Update env/netbox.env 2025-05-20 21:42:28 +02:00
db7acaf647 Update env/docker-compose.override.yml 2025-05-20 21:39:22 +02:00
90909d4181 Add env/docker-compose.override.yml 2025-05-20 19:24:47 +02:00
bdbcf7bf4a Update env/netbox.env 2025-05-20 19:15:47 +02:00
477decd80a Merge pull request #1450 from netbox-community/develop
Version 3.3.0
2025-05-05 07:51:26 +02:00
b845efe1ad Merge pull request #1449 from netbox-community/renovate/ghcr.io-astral-sh-uv-0.x
Update ghcr.io/astral-sh/uv Docker tag to v0.7
2025-05-04 15:52:39 +02:00
56defa3f82 Update ghcr.io/astral-sh/uv Docker tag to v0.7 2025-04-30 04:00:06 +00:00
7078ab7519 Merge pull request #1448 from tobiasge/merge-back
Merge back of release into develop
2025-04-25 07:58:35 +02:00
fcd5b4e66b Merge remote-tracking branch 'upstream/release' into merge-back 2025-04-25 07:28:42 +02:00
2efacf39ca Merge pull request #1447 from tobiasge/sentry-hot-fix
Hot fix for Sentry and feature build (Release 3.2.1)
2025-04-25 07:18:54 +02:00
a4ce13be19 Preparation for 3.2.1 2025-04-25 07:06:42 +02:00
fa08388175 Update dependency django-storages to v1.14.6 2025-04-25 07:06:42 +02:00
fd9b41a5d1 Update dependency sentry-sdk to v2.27.0 2025-04-25 06:58:02 +02:00
83ec1c2656 Merge pull request #1446 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.27.0
2025-04-25 06:42:22 +02:00
0fe49f87d7 Update dependency sentry-sdk to v2.27.0 2025-04-24 15:15:00 +00:00
83f87b4ad2 Merge pull request #1406 from netbox-community/renovate/docker.io-valkey-valkey-8.x
Update docker.io/valkey/valkey Docker tag to v8.1
2025-04-20 11:01:11 +02:00
82d9d8ae49 Merge pull request #1438 from tobiasge/prepare-netbox-43
Prepare for NetBox 4.3
2025-04-20 10:50:32 +02:00
f1864f8f20 Merge pull request #1439 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.26.1
2025-04-19 17:36:43 +02:00
8431b77422 Use develop branch for pre-releases 2025-04-19 17:36:09 +02:00
19e167ec19 Update dependency sentry-sdk to v2.26.1 2025-04-15 11:46:55 +00:00
8f7c21749e Match upstream testing configuration 2025-04-12 11:10:33 +02:00
ec9a3e80da Prepare for NetBox 4.3 2025-04-12 10:26:09 +02:00
61eaffaf2e Merge pull request #1432 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.6
2025-04-02 20:10:56 +02:00
fef49f447e Merge pull request #1435 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.25.1
2025-04-02 20:10:25 +02:00
5ded00b6fb Update dependency sentry-sdk to v2.25.1 2025-04-02 16:02:23 +00:00
67ddeb6735 Update dependency django-storages to v1.14.6 2025-04-02 06:32:03 +00:00
8179a4344b Merge pull request #1431 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.25.0
2025-03-31 18:10:09 +02:00
688d8901b7 Update dependency sentry-sdk to v2.25.0 2025-03-31 15:49:55 +00:00
687b8384bc Merge pull request #1418 from tobiasge/update-unit
Update Nginx Unit
2025-03-27 09:52:14 +01:00
1c3017323c Merge pull request #1425 from skupjoe/fix-editorconfig-checker
Fix editorconfig-checker deprecations
2025-03-24 14:45:06 +01:00
c8bd177a93 Fix deprecated config name 2025-03-24 14:18:38 +01:00
c31ed9a79a Merge pull request #1426 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.24.1
2025-03-24 14:09:28 +01:00
139c158d8a Update dependency sentry-sdk to v2.24.1 2025-03-24 12:37:10 +00:00
e5400e345b Merge pull request #1423 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.24.0
2025-03-21 17:35:20 +01:00
017098a587 Update dependency sentry-sdk to v2.24.0 2025-03-21 16:10:17 +00:00
bb8f2fd17c Merge pull request #1421 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.23.1
2025-03-17 20:17:20 +01:00
d9da3fa35b Update dependency sentry-sdk to v2.23.1 2025-03-17 18:07:11 +00:00
0f7e72fc0d Merge pull request #1420 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.23.0
2025-03-17 13:12:44 +01:00
d9f72e94fa Update dependency sentry-sdk to v2.23.0 2025-03-17 11:43:58 +00:00
1c8cdfa6dd Update Nginx Unit 2025-03-14 17:12:42 +01:00
b6a30bf989 Merge pull request #1413 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.8
2025-03-07 19:33:22 +01:00
4eb0d6a368 Update test configuration 2025-03-06 21:29:33 +01:00
849f8bef07 Make superliner happy 2025-03-06 20:56:29 +01:00
9eee74ba61 Update dependency dulwich to v0.22.8 2025-03-03 03:04:24 +00:00
34c26bbd30 Update docker.io/valkey/valkey Docker tag to v8.1 2025-02-17 22:53:25 +00:00
caa3d3324f Merge pull request #1405 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.22.0
2025-02-17 18:26:38 +01:00
25b022203a Update dependency sentry-sdk to v2.22.0 2025-02-17 15:35:24 +00:00
e61496688d Merge pull request #1400 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.5
2025-02-15 20:13:33 +01:00
29bef7450a Update dependency django-storages to v1.14.5 2025-02-15 18:46:36 +00:00
6edc921a79 Merge pull request #1399 from netbox-community/renovate/ghcr.io-astral-sh-uv-0.x
Update ghcr.io/astral-sh/uv Docker tag to v0.6
2025-02-14 20:17:22 +01:00
0f0ce521d6 Update ghcr.io/astral-sh/uv Docker tag to v0.6 2025-02-14 18:56:50 +00:00
c3f119bedc Merge pull request #1396 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.21.0
2025-02-12 12:54:22 +01:00
1701399b82 Update dependency sentry-sdk to v2.21.0 2025-02-12 11:35:22 +00:00
0b70f722f9 Merge pull request #1387 from netbox-community/develop
Release 3.2.0
2025-02-06 07:17:56 +01:00
cecfd627e4 Preparation for 3.2.0 2025-02-05 20:27:26 +00:00
fb7213a1d2 Merge pull request #1384 from MikuuW/only-ipv6-support
Add: IPv6-only support => Update docker/nginx-unit.json
2025-02-05 07:40:33 +01:00
1aa742342c Make superlinter happy 2025-02-05 07:20:46 +01:00
230cd09cb5 Update nginx-unit.json with new listeners and forwarded sources 2025-02-05 07:19:44 +01:00
d67ed0c2df Merge pull request #1386 from tobiasge/uv-build
Improved image build
2025-02-05 06:51:21 +01:00
b1d6e3caaa udpate issue reporting (#1329)
* Update issue report string
* Remove docker version string from placeholder (now obsolete)
2025-02-04 21:47:24 +01:00
542538bf5c Improved image build
- Fix #1383: Setting DEBUG = true when collection the static files
  enables the use of the Django debug toolbar.
- Fix #1385: Use uv as package manager instead of pip speeds up the build.
- Nice display of Docker image version
2025-02-04 21:01:29 +01:00
76404d01bf Merge pull request #1376 from tobiasge/runners-update
Use hosted Ubuntu 24.04 runners
2025-02-04 20:59:56 +01:00
ab948e467c Ignore actionlint error for now 2025-02-04 20:10:31 +01:00
0d221e684d Merge pull request #1252 from cimnine/principals
PRINCIPALS.md and MAINTAINERS.md
2025-02-03 09:35:12 +01:00
5332504c5a Implement linter feedback 2025-02-03 08:54:56 +01:00
0082261007 Fix typos 2025-02-01 16:26:14 +01:00
052b17d5c1 Slight improvements 2025-02-01 16:26:14 +01:00
7516e5d00d Remove having to provide a reason for turning down applications 2025-02-01 16:26:14 +01:00
1bd16cec68 First draft for PRINCIPALS.md, MAINTAINERS.md 2025-02-01 16:26:11 +01:00
0d1637bd71 Merge pull request #1382 from tobiasge/update-readme
Updates for new branch names
2025-01-24 16:01:34 +01:00
60db7e6c90 Make Superlinter happy 2025-01-24 14:45:00 +01:00
607ae32450 Updates for new branch names 2025-01-24 14:31:41 +01:00
64bf745dce Merge pull request #1380 from tobiasge/edition-marker
Display Docker image version
2025-01-20 11:21:43 +01:00
0ec4c5d795 Display Docker image version 2025-01-20 10:38:42 +01:00
afc10aaf26 Merge pull request #1379 from netbox-community/develop
Version 3.1.1
2025-01-20 09:42:30 +01:00
e48a1b685b Preparation for 3.1.1 2025-01-20 08:53:40 +01:00
d129ade861 Merge pull request #1377 from ProfessorLogout/develop
Feature: Support ISOLATED_DEPLOYMENT setting
2025-01-17 19:36:25 +01:00
f394400b2b Feature: Support ISOLATED_DEPLOYMENT setting 2025-01-17 15:33:01 +01:00
b56c45b4ee Use hosted Ubuntu 24.04 runners 2025-01-16 18:26:35 +01:00
a48b86b5d4 Merge pull request #1372 from mvanwilligen-prox/update_nginx_unit
Update Nginx unit to 1.34.1
2025-01-16 12:08:51 +01:00
6e74993d99 Merge pull request #1375 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.20.0
2025-01-14 18:51:36 +01:00
6fd2681449 Update dependency sentry-sdk to v2.20.0 2025-01-14 17:12:54 +00:00
a194302a41 Update Nginx unit to 1.34.1
This fixes the OTel bug in nginx unit 1.34.0.

Signed-off-by: Mathijs van Willigen <mavanwilligen@proxsys.nl>
2025-01-13 10:34:37 +01:00
bd9bdd0635 Merge pull request #1369 from netbox-community/develop
Version 3.1.0
2025-01-07 08:52:28 +01:00
11615dfd7b Merge pull request #1368 from tobiasge/prepare-netbox-4.2
Prepare for Netbox 4.2
2025-01-07 08:15:00 +01:00
1a70f971c0 Prepare for Netbox 4.2 2025-01-07 07:35:16 +01:00
69e997f0ea Merge pull request #1363 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.7
2024-12-19 20:01:25 +01:00
878b3b6abb Update dependency dulwich to v0.22.7 2024-12-19 18:26:11 +00:00
d08e8b8d9b Merge pull request #1326 from netbox-community/renovate/docker.io-postgres-17.x
Update docker.io/postgres Docker tag to v17
2024-12-18 14:16:37 +01:00
49d80c9109 Make superlinter happy 2024-12-18 12:41:10 +01:00
5a61886e1d Merge pull request #1359 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.19.2
2024-12-18 12:37:01 +01:00
0c0c468386 Update dependency sentry-sdk to v2.19.2 2024-12-06 09:44:23 +00:00
f5d5a04b1c Merge pull request #1358 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.19.1
2024-12-06 08:36:14 +01:00
c416a054ae Update dependency sentry-sdk to v2.19.1 2024-12-05 17:56:35 +00:00
ad139decb3 Merge pull request #1353 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.19.0
2024-11-21 19:03:58 +01:00
404b4bcffe Update dependency sentry-sdk to v2.19.0 2024-11-21 17:26:58 +00:00
0e1c589541 Merge pull request #1351 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.6
2024-11-19 16:36:15 +01:00
d8ac6f828c Removed LOGIN_REQUIRED 2024-11-19 15:58:22 +01:00
bf0cecc7fd Update dependency dulwich to v0.22.6 2024-11-18 01:40:01 +00:00
1ed3b1d849 Merge pull request #1350 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.5
2024-11-07 18:45:10 +01:00
dcc8a624ba Update dependency dulwich to v0.22.5 2024-11-07 16:51:46 +00:00
7ccd618c58 Merge pull request #1347 from tobiasge/1331-forwarded-for
Fixes #1331: Added 'forwarded' section Unit config
2024-11-07 09:06:56 +01:00
afd18c6f39 Fixes #1331: Added 'forwarded' section Unit config
Simplifies the listener configuration by using a wildcard for the IP and
adds a forwarded section that trusts all proxies on RFC1918 networks.
2024-11-05 13:20:04 +01:00
d573274e21 Merge pull request #1346 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.18.0
2024-11-05 12:41:52 +01:00
50721989bf Update dependency sentry-sdk to v2.18.0 2024-11-04 17:39:16 +00:00
06232f64bb Merge pull request #1345 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.4
2024-11-01 19:10:47 +01:00
8fcbc5c294 Update dependency dulwich to v0.22.4 2024-11-01 13:38:59 +00:00
14612526e0 Merge pull request #1339 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.17.0
2024-10-17 16:28:29 +02:00
8cd5ea456e Merge pull request #1338 from netbox-community/renovate/django-auth-ldap-5.x
Update dependency django-auth-ldap to v5.1.0
2024-10-17 15:53:23 +02:00
8453eab8dd Update dependency sentry-sdk to v2.17.0 2024-10-17 13:18:41 +00:00
cc6a35b636 Update dependency django-auth-ldap to v5.1.0 2024-10-17 13:18:36 +00:00
48f6e6cc04 Merge pull request #1337 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.3
2024-10-17 07:06:16 +02:00
bffdc6d822 Update dependency dulwich to v0.22.3 2024-10-16 14:38:27 +00:00
3982207d91 Merge pull request #1332 from netbox-community/renovate/django-auth-ldap-5.x
Update dependency django-auth-ldap to v5
2024-10-08 19:17:08 +02:00
409cfeb337 Merge pull request #1327 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.16.0
2024-10-08 18:45:08 +02:00
5354b142cb Update dependency django-auth-ldap to v5 2024-10-08 16:41:06 +00:00
d3ce916073 Update dependency sentry-sdk to v2.16.0 2024-10-08 12:47:04 +00:00
db34a0ae2b Update docker.io/postgres Docker tag to v17 2024-09-27 03:23:22 +00:00
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
28 changed files with 577 additions and 403 deletions

View File

@ -5,6 +5,9 @@ docker-compose*
env
test-configuration
.netbox/.git*
.netbox/.pre-commit-config.yaml
.netbox/.readthedocs.yaml
.netbox/.tx
.netbox/contrib
.netbox/scripts
.netbox/upgrade.sh

View File

@ -9,3 +9,6 @@ indent_size = 2
[*.py]
indent_size = 4
[VERSION]
insert_final_newline = false

View File

@ -2,17 +2,12 @@
"Verbose": false,
"Debug": false,
"IgnoreDefaults": false,
"SpacesAftertabs": false,
"SpacesAfterTabs": false,
"NoColor": false,
"Exclude": [
"LICENSE",
"\\.initializers",
"\\.vscode"
],
"Exclude": ["LICENSE", "\\.initializers", "\\.vscode"],
"AllowedContentTypes": [],
"PassedFiles": [],
"Disable": {
// set these options to true to disable specific checks
"EndOfLine": false,
"Indentation": false,
"InsertFinalNewline": false,

4
.github/FUNDING.yml vendored
View File

@ -1,8 +1,8 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
- cimnine
- tobiasge
- cimnine
- tobiasge
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username

View File

@ -1,148 +1,147 @@
name: Bug report
description: Create a report about a malfunction of the Docker setup
body:
- type: markdown
attributes:
value: |
Please only raise an issue if you're certain that you've found a bug.
Else, see these other means to get help:
- type: markdown
attributes:
value: |
Please only raise an issue if you're certain that you've found a bug.
Else, see these other means to get help:
- See our troubleshooting section:
https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting
- Have a look at the rest of the wiki:
https://github.com/netbox-community/netbox-docker/wiki
- Check the release notes:
https://github.com/netbox-community/netbox-docker/releases
- Look through the issues already resolved:
https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed
- See our troubleshooting section:
https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting
- Have a look at the rest of the wiki:
https://github.com/netbox-community/netbox-docker/wiki
- Check the release notes:
https://github.com/netbox-community/netbox-docker/releases
- Look through the issues already resolved:
https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed
If you did not find what you're looking for,
try the help of our community:
If you did not find what you're looking for,
try the help of our community:
- Post to Github Discussions:
https://github.com/netbox-community/netbox-docker/discussions
- Join the `#netbox-docker` channel on our Slack:
https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
- Ask on the NetBox mailing list:
https://groups.google.com/d/forum/netbox-discuss
- Post to Github Discussions:
https://github.com/netbox-community/netbox-docker/discussions
- Join the `#netbox-docker` channel on our Slack:
https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
- Ask on the NetBox mailing list:
https://groups.google.com/d/forum/netbox-discuss
Please don't open an issue to open a PR.
Just submit the PR, that's good enough.
- type: textarea
id: current-behavior
attributes:
label: Current Behavior
description: Please describe what you did and how you think it misbehaved
placeholder: I tried to … by doing …, but it …
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: Please describe what you expected instead
placeholder: I expected that … when I do …
validations:
required: true
- type: input
id: docker-compose-version
attributes:
label: Docker Compose Version
description: Please paste the output of `docker-compose version`
placeholder: Docker Compose version vX.Y.Z
validations:
required: true
- type: textarea
id: docker-version
attributes:
label: Docker Version
description: Please paste the output of `docker version`
render: text
placeholder: |
Client:
Cloud integration: 1.0.17
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:55:20 2021
OS/Arch: darwin/amd64
Context: default
Experimental: true
Please don't open an issue to open a PR.
Just submit the PR, that's good enough.
- type: textarea
id: current-behavior
attributes:
label: Current Behavior
description: Please describe what you did and how you think it misbehaved
placeholder: I tried to … by doing …, but it …
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
description: Please describe what you expected instead
placeholder: I expected that … when I do …
validations:
required: true
- type: input
id: docker-compose-version
attributes:
label: Docker Compose Version
description: Please paste the output of `docker-compose version` (or `docker compose version`)
placeholder: Docker Compose version vX.Y.Z
validations:
required: true
- type: textarea
id: docker-version
attributes:
label: Docker Version
description: Please paste the output of `docker version`
render: text
placeholder: |
Client:
Cloud integration: 1.0.17
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:55:20 2021
OS/Arch: darwin/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:10 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
validations:
required: true
- type: input
id: git-rev
attributes:
label: The git Revision
description: Please paste the output of `git rev-parse HEAD`
validations:
required: true
- type: textarea
id: git-status
attributes:
label: The git Status
description: Please paste the output of `git status`
render: text
placeholder: |
On branch main
nothing to commit, working tree clean
validations:
required: true
- type: input
id: run-command
attributes:
label: Startup Command
description: Please specify the command you used to start the project
placeholder: docker compose up
validations:
required: true
- type: textarea
id: netbox-logs
attributes:
label: NetBox Logs
description: Please paste the output of `docker-compose logs netbox` (or `docker compose logs netbox`)
render: text
placeholder: |
netbox_1 | ⚙️ Applying database migrations
netbox_1 | 🧬 loaded config '/etc/netbox/config/configuration.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/a.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/extra.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/logging.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/plugins.py'
...
validations:
required: true
- type: textarea
id: docker-compose-override-yml
attributes:
label: Content of docker-compose.override.yml
description: Please paste the output of `cat docker-compose.override.yml`
render: yaml
placeholder: |
version: '3.4'
services:
netbox:
ports:
- '8080:8080'
validations:
required: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:10 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
validations:
required: true
- type: input
id: git-rev
attributes:
label: The git Revision
description: Please paste the output of `git rev-parse HEAD`
validations:
required: true
- type: textarea
id: git-status
attributes:
label: The git Status
description: Please paste the output of `git status`
render: text
placeholder: |
On branch main
nothing to commit, working tree clean
validations:
required: true
- type: input
id: run-command
attributes:
label: Startup Command
description: Please specify the command you used to start the project
placeholder: docker compose up
validations:
required: true
- type: textarea
id: netbox-logs
attributes:
label: NetBox Logs
description: Please paste the output of `docker-compose logs netbox` (or `docker compose logs netbox`)
render: text
placeholder: |
netbox_1 | ⚙️ Applying database migrations
netbox_1 | 🧬 loaded config '/etc/netbox/config/configuration.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/a.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/extra.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/logging.py'
netbox_1 | 🧬 loaded config '/etc/netbox/config/plugins.py'
...
validations:
required: true
- type: textarea
id: docker-compose-override-yml
attributes:
label: Content of docker-compose.override.yml
description: Please paste the output of `cat docker-compose.override.yml`
render: yaml
placeholder: |
services:
netbox:
ports:
- '8080:8080'
validations:
required: true

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

@ -1,68 +1,68 @@
name: Feature or Change Request
description: Request a new feature or a change of the current behavior
body:
- type: markdown
attributes:
value: |
This issue type is to propose new features for the Docker setup.
To just spin an idea, see the Github Discussions section, please.
- type: markdown
attributes:
value: |
This issue type is to propose new features for the Docker setup.
To just spin an idea, see the Github Discussions section, please.
Before asking for help, see these links first:
Before asking for help, see these links first:
- See our troubleshooting section:
https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting
- Have a look at the rest of the wiki:
https://github.com/netbox-community/netbox-docker/wiki
- Check the release notes:
https://github.com/netbox-community/netbox-docker/releases
- Look through the issues already resolved:
https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed
- See our troubleshooting section:
https://github.com/netbox-community/netbox-docker/wiki/Troubleshooting
- Have a look at the rest of the wiki:
https://github.com/netbox-community/netbox-docker/wiki
- Check the release notes:
https://github.com/netbox-community/netbox-docker/releases
- Look through the issues already resolved:
https://github.com/netbox-community/netbox-docker/issues?q=is%3Aclosed
If you did not find what you're looking for,
try the help of our community:
If you did not find what you're looking for,
try the help of our community:
- Post to Github Discussions:
https://github.com/netbox-community/netbox-docker/discussions
- Join the `#netbox-docker` channel on our Slack:
https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
- Ask on the NetBox mailing list:
https://groups.google.com/d/forum/netbox-discuss
- Post to Github Discussions:
https://github.com/netbox-community/netbox-docker/discussions
- Join the `#netbox-docker` channel on our Slack:
https://join.slack.com/t/netdev-community/shared_invite/zt-mtts8g0n-Sm6Wutn62q_M4OdsaIycrQ
- Ask on the NetBox mailing list:
https://groups.google.com/d/forum/netbox-discuss
Please don't open an issue to open a PR.
Just submit the PR, that's good enough.
- type: textarea
id: desired-behavior
attributes:
label: Desired Behavior
description: Please describe the desired behavior
placeholder: To me, it would be useful, if … because …
validations:
required: true
- type: textarea
id: contrast-to-current
attributes:
label: Contrast to Current Behavior
description: Please describe how the desired behavior is different from the current behavior
placeholder: The current behavior is …, but this lacks …
validations:
required: true
- type: textarea
id: required-changes
attributes:
label: Required Changes
description: If you can, please elaborate what changes will be required to implement the desired behavior
placeholder: I suggest to change the file …
validations:
required: false
- type: textarea
id: discussion
attributes:
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?
- What are the drawbacks of this change? Is it backwards-compatible?
- Anything else that you think is relevant to the discussion of this feature/change request.
placeholder: I suggest to change the file …
validations:
required: false
Please don't open an issue to open a PR.
Just submit the PR, that's good enough.
- type: textarea
id: desired-behavior
attributes:
label: Desired Behavior
description: Please describe the desired behavior
placeholder: To me, it would be useful, if … because …
validations:
required: true
- type: textarea
id: contrast-to-current
attributes:
label: Contrast to Current Behavior
description: Please describe how the desired behavior is different from the current behavior
placeholder: The current behavior is …, but this lacks …
validations:
required: true
- type: textarea
id: required-changes
attributes:
label: Required Changes
description: If you can, please elaborate what changes will be required to implement the desired behavior
placeholder: I suggest to change the file …
validations:
required: false
- type: textarea
id: discussion
attributes:
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?
- What are the drawbacks of this change? Is it backwards-compatible?
- Anything else that you think is relevant to the discussion of this feature/change request.
placeholder: I suggest to change the file …
validations:
required: false

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

@ -16,19 +16,20 @@ concurrency:
jobs:
lint:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
name: Checks syntax of our code
permissions:
contents: read
packages: read
statuses: write
steps:
- uses: actions/checkout@v4
with:
# Full git history is needed to get a proper
# list of changed files within `super-linter`
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Lint Code Base
uses: github/super-linter@v6
uses: super-linter/super-linter@v7
env:
DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@ -40,7 +41,7 @@ jobs:
VALIDATE_GITLEAKS: false
VALIDATE_JSCPD: false
FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*)
EDITORCONFIG_FILE_NAME: .ecrc
EDITORCONFIG_FILE_NAME: .editorconfig-checker.json
DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
MARKDOWN_CONFIG_FILE: .markdown-lint.yml
PYTHON_BLACK_CONFIG_FILE: pyproject.toml
@ -55,10 +56,10 @@ jobs:
- ./build-latest.sh
- PRERELEASE=true ./build-latest.sh
- ./build.sh feature
- ./build.sh develop
- ./build.sh main
os:
- ubuntu-latest
- self-hosted
- ubuntu-24.04
- ubuntu-24.04-arm
fail-fast: false
env:
GH_ACTION: enable
@ -73,9 +74,14 @@ jobs:
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- id: arm-install-skopeo
name: Install 'skopeo' on ARM64
if: matrix.os == 'ubuntu-24.04-arm'
run: |
sudo apt-get install -y skopeo
- id: arm-buildx-platform
name: Set BUILDX_PLATFORM to ARM64
if: matrix.os == 'self-hosted'
if: matrix.os == 'ubuntu-24.04-arm'
run: |
echo "BUILDX_PLATFORM=linux/arm64" >>"${GITHUB_ENV}"
- id: docker-build
@ -85,7 +91,7 @@ jobs:
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}
- id: arm-time-limit
name: Set Netbox container start_period higher on ARM64
if: matrix.os == 'self-hosted'
if: matrix.os == 'ubuntu-24.04-arm'
run: |
echo "NETBOX_START_PERIOD=240s" >>"${GITHUB_ENV}"
- id: docker-test

View File

@ -6,22 +6,24 @@ on:
types:
- published
schedule:
- cron: '45 5 * * *'
- cron: "45 5 * * *"
workflow_dispatch:
jobs:
build:
strategy:
matrix:
build_cmd:
- ./build-latest.sh
- PRERELEASE=true ./build-latest.sh
- ./build.sh feature
- ./build.sh develop
build:
- { "cmd": "./build-latest.sh", "branch": "release" }
- { "cmd": "./build.sh main", "branch": "release" }
# Build pre release images from our develop branch
# This is used to test the latest changes before they are merged into the main branch
- { "cmd": "PRERELEASE=true ./build-latest.sh", "branch": "develop" }
- { "cmd": "./build.sh feature", "branch": "develop" }
platform:
- linux/amd64,linux/arm64
fail-fast: false
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
name: Builds new NetBox Docker Images
env:
GH_ACTION: enable
@ -31,23 +33,17 @@ jobs:
- id: source-checkout
name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.build.branch }}
- id: set-netbox-docker-version
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 }}'
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'
- id: check-build-needed
name: Check if the build is needed for '${{ matrix.build.cmd }}'
env:
CHECK_ONLY: "true"
run: ${{ matrix.build.cmd }}
# docker.io
- id: docker-io-login
name: Login to docker.io
@ -56,7 +52,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 +69,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 +78,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'
run: ${{ matrix.build.cmd }} --push
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,6 +1,7 @@
ARG FROM
FROM ${FROM} as builder
FROM ${FROM} AS builder
COPY --from=ghcr.io/astral-sh/uv:0.7 /uv /usr/local/bin/
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
&& apt-get upgrade \
@ -20,16 +21,11 @@ RUN export DEBIAN_FRONTEND=noninteractive \
libxslt-dev \
pkg-config \
python3-dev \
python3-pip \
python3-venv \
&& python3 -m venv /opt/netbox/venv \
&& /opt/netbox/venv/bin/python3 -m pip install --upgrade \
pip \
setuptools \
wheel
&& /usr/local/bin/uv venv /opt/netbox/venv
ARG NETBOX_PATH
COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt /
ENV VIRTUAL_ENV=/opt/netbox/venv
RUN \
# Gunicorn is not needed because we use Nginx Unit
sed -i -e '/gunicorn/d' /requirements.txt && \
@ -37,7 +33,9 @@ RUN \
# we have potential version conflicts and the build will fail.
# That's why we just replace it in the original requirements.txt.
sed -i -e 's/social-auth-core/social-auth-core\[all\]/g' /requirements.txt && \
/opt/netbox/venv/bin/pip install \
# The same is true for 'django-storages'
sed -i -e 's/django-storages/django-storages\[azure,boto3,dropbox,google,libcloud,sftp\]/g' /requirements.txt && \
/usr/local/bin/uv pip install \
-r /requirements.txt \
-r /requirements-container.txt
@ -46,8 +44,10 @@ RUN \
###
ARG FROM
FROM ${FROM} as main
FROM ${FROM} AS main
COPY docker/unit.list /etc/apt/sources.list.d/unit.list
ADD --chmod=444 --chown=0:0 https://unit.nginx.org/keys/nginx-keyring.gpg /usr/share/keyrings/nginx-keyring.gpg
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
&& apt-get upgrade \
@ -63,25 +63,18 @@ 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" \
> /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-python3.12=1.34.2-1~noble \
unit=1.34.2-1~noble \
&& rm -rf /var/lib/apt/lists/*
# Copy the modified 'requirements*.txt' files, to have the files actually used during installation
COPY --from=builder /requirements.txt /requirements-container.txt /opt/netbox/
COPY --from=builder /usr/local/bin/uv /usr/local/bin/
COPY --from=builder /opt/netbox/venv /opt/netbox/venv
ARG NETBOX_PATH
COPY ${NETBOX_PATH} /opt/netbox
# Copy the modified 'requirements*.txt' files, to have the files actually used during installation
COPY --from=builder /requirements.txt /requirements-container.txt /opt/netbox/
COPY docker/configuration.docker.py /opt/netbox/netbox/netbox/configuration.py
COPY docker/ldap_config.docker.py /opt/netbox/netbox/netbox/ldap_config.py
@ -90,6 +83,7 @@ COPY docker/housekeeping.sh /opt/netbox/housekeeping.sh
COPY docker/launch-netbox.sh /opt/netbox/launch-netbox.sh
COPY configuration/ /etc/netbox/config/
COPY docker/nginx-unit.json /etc/unit/
COPY VERSION /opt/netbox/VERSION
WORKDIR /opt/netbox/netbox
@ -100,9 +94,11 @@ RUN mkdir -p static /opt/unit/state/ /opt/unit/tmp/ \
&& chmod -R g+w /opt/unit/ media reports scripts \
&& cd /opt/netbox/ && SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python -m mkdocs build \
--config-file /opt/netbox/mkdocs.yml --site-dir /opt/netbox/netbox/project-static/docs/ \
&& SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input
&& DEBUG="true" SECRET_KEY="dummyKeyWithMinimumLength-------------------------" /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py collectstatic --no-input \
&& mkdir /opt/netbox/netbox/local \
&& echo "build: Docker-$(cat /opt/netbox/VERSION)" > /opt/netbox/netbox/local/release.yaml
ENV LANG=C.utf8 PATH=/opt/netbox/venv/bin:$PATH
ENV LANG=C.utf8 PATH=/opt/netbox/venv/bin:$PATH VIRTUAL_ENV=/opt/netbox/venv UV_NO_CACHE=1
ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/opt/netbox/docker-entrypoint.sh", "/opt/netbox/launch-netbox.sh" ]

19
MAINTAINERS.md Normal file
View File

@ -0,0 +1,19 @@
# Maintainers of _NetBox Docker_
This file lists all currently recognized maintainers of the _NetBox Docker_ project in alphabetical order:
- @cimnine
- @tobiasge
## Stepping Down
Every maintainer is a volunteer and may step down as maintainer at any time without providing any reason.
To make this explicit, the maintainer is asked to update this file.
The last maintainer stepping down is asked to archive the project on GitHub to indicate that the project is no longer maintained.
## Signing up
Everyone is welcome to sign up as maintainer by creating a PR and add their own username to the list.
The current maintainers shall discuss the application.
They may turn down an application if they don't feel confident that the new maintainer is a positive addition.

71
PRINCIPALS.md Normal file
View File

@ -0,0 +1,71 @@
# Development, Maintenance and Community Principals for _NetBox Docker_
These principals shall guide the development and the maintenance of _NetBox Docker_.
## Basic principals
This project is maintained on voluntary basis.
Everyone is asked to respect that.
This means, that …
- … sometimes features are not implemented as fast as one might like -- or not at all.
- … sometimes nobody is looking at bugs, or they are not fixed as fast as one might like -- or not at all.
- … sometimes PRs are not reviewed for an extended period.
Everyone is welcome to provide improvements and bugfixes to the benefit of everyone else.
## Development Principals
The goal of the _NetBox Docker_ project is to provide a container to run the basic NetBox project.
The container should feel like a native container -- as if it were provided by NetBox itself:
- Configuration via environment variables where feasible.
- Except: Whenever a complex type such as a `dict` is required as value of a configuration setting,
then it shall not be provided through an environment variable.
- Configuration of secrets via secret files.
- Log output to standard out (STDOUT/`&1`) / standard error (STDERR/`&2`).
- Volumes for data and cache directories.
- Otherwise, no mounts shall be necessary.
- Runs a non-root user by default.
- One process / role for each instance.
The container generally does not provide more features than the basic NetBox project itself provides.
It may provide additional Python dependencies than the upstream project,
so that all configurable features of NetBox can be used in the container without further modification.
The container may provide helpers, so that it feels and behaves like a native container.
The container does not bundle any community plugins.
## Maintenance Principals
The main goals of maintaining _NetBox Docker_ are:
- Keeping the project at a high quality level.
- Keeping the maintenance effort minimal.
- Coordinating development efforts.
The following guidelines help us to achieve these goals:
- As many maintenance tasks as possible shall be automated or scripted.
- All manual tasks must be documented.
- All changes are reviewed by at least one maintainer.
- Changes of maintainers are reviewed by at least one other maintainer.
(Except if there's only one maintainer left.)
- The infrastructure beyond what GitHub provides shall be kept to a minimum.
- On request, every maintainer shall get access to infrastructure that is beyond GitHub
(at the time of writing that's _Docker Hub_ and _Quay_ in particular).
## Community Principals
This project is developed by the NetBox community for the NetBox community.
We welcome contributions, as long as they are in line with the principals above.
The maintainers of NetBox Docker are not the support team.
The community is expected to help each other out.
Always remember:
Behind every screen (or screen-reader) on the other end is a fellow human.
Be nice and respectful, thankful for help,
and value ideas and contributions,
even when they don't fit the goals.

View File

@ -8,11 +8,16 @@
[![GitHub license](https://img.shields.io/github/license/netbox-community/netbox-docker)][netbox-docker-license]
[The GitHub repository][netbox-docker-github] houses the components needed to build NetBox as a container.
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].
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].
_NetBox Docker_ is a project developed and maintained by the _NetBox_ community.
Do you have any questions?
Before opening an issue on Github,
please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] channel.
Before opening an issue on GitHub,
please join [our Slack][netbox-docker-slack]
and ask for help in the [`#netbox-docker`][netbox-docker-slack-channel] channel,
or start a new [GitHub Discussion][github-discussions].
[github-stargazers]: https://github.com/netbox-community/netbox-docker/stargazers
[github-release]: https://github.com/netbox-community/netbox-docker/releases
@ -24,6 +29,7 @@ please join [our Slack][netbox-docker-slack] and ask for help in the [`#netbox-d
[netbox-docker-slack-channel]: https://netdev-community.slack.com/archives/C01P0GEVBU7
[netbox-slack-channel]: https://netdev-community.slack.com/archives/C01P0FRSXRV
[netbox-docker-license]: https://github.com/netbox-community/netbox-docker/blob/release/LICENSE
[github-discussions]: https://github.com/netbox-community/netbox-docker/discussions
## Quickstart
@ -53,7 +59,8 @@ To create the first admin user run this command:
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.
If you need to restart Netbox from an empty database often,
you can also set the `SUPERUSER_*` variables in your `docker-compose.override.yml`.
[wiki-getting-started]: https://github.com/netbox-community/netbox-docker/wiki/Getting-Started
@ -63,37 +70,34 @@ 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`:
- `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`.
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
These images are automatically built from [the corresponding releases of NetBox][netbox-releases].
* `latest-a.b.c`:
- `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`.
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
These images are automatically built from [the `master` branch of NetBox][netbox-master].
* `snapshot-a.b.c`:
- `snapshot-a.b.c`:
These are prerelease builds.
They contain the support files of _NetBox Docker version_ `a.b.c`.
You must use _NetBox Docker version_ `a.b.c` to guarantee the compatibility.
These images are automatically built from the [`develop` branch of NetBox][netbox-develop].
These images are automatically built from the [`main` branch of NetBox][netbox-main].
For each of the above tag, there is an extra tag:
* `vX.Y.Z`, `vX.Y`:
- `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`
- `latest`
This is the same version as `latest-a.b.c`.
It always points to the latest version of _NetBox Docker_.
* `snapshot`
- `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
[netbox-main]: https://github.com/netbox-community/netbox/tree/main
## Documentation
@ -109,7 +113,7 @@ Feel free to correct errors, update outdated information or provide additional g
Feel free to ask questions in our [GitHub Community][netbox-community]
or [join our Slack][netbox-docker-slack] and ask [in our channel `#netbox-docker`][netbox-docker-slack-channel],
which is free to use and where there are almost always people online that can help you in the Slack channel.
which is free to use and where there are almost always people online that can help you.
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.
@ -120,16 +124,16 @@ you may find [the `#netbox` channel][netbox-slack-channel] on the same Slack ins
This project relies only on _Docker_ and _docker-compose_ meeting these requirements:
* 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`.
- 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`.
To check the version installed on your system run `docker --version` and `docker compose version`.
## Updating
Please read [the release notes][releases] carefully when updating to a new image version.
Note that the version of the NetBox Docker container image must stay in sync with the code.
Note that the version of the NetBox Docker container image must stay in sync with the version of the Git repository.
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].
@ -138,7 +142,8 @@ If you update for the first time, be sure [to follow our _How To Update NetBox D
## Rebuilding the Image
`./build.sh` can be used to rebuild the container image. See `./build.sh --help` for more information.
`./build.sh` can be used to rebuild the container image.
See `./build.sh --help` for more information or `./build-latest.sh` for an example.
For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
@ -147,13 +152,15 @@ For more details on custom builds [consult our wiki][netbox-docker-wiki-build].
## Tests
We have a test script.
It runs NetBox's own unit tests and ensures that all initializers work:
It runs NetBox's own unit tests and ensures that NetBox starts:
```bash
IMAGE=netboxcommunity/netbox:latest ./test.sh
IMAGE=docker.io/netboxcommunity/netbox:latest ./test.sh
```
## Support
This repository is currently maintained by the community.
The community is expected to help each other.
Please consider sponsoring the maintainers of this project.

View File

@ -1 +1 @@
2.9.1
3.3.0

5
actionlint.yml Normal file
View File

@ -0,0 +1,5 @@
---
paths:
.github/workflows/**/*.{yml,yaml}:
ignore:
- ".*ubuntu-24.04-arm.*"

View File

@ -39,9 +39,8 @@ SKIP_GIT If defined, git is not invoked and \${NETBOX_PATH} will not be alter
TAG The version part of the image tag.
${_GREEN}Default:${_CLEAR}
When <branch>=master: latest
When <branch>=develop: snapshot
Else: same as <branch>
When <branch>=main: snapshot
Else: same as <branch>
IMAGE_NAMES The names used for the image including the registry
Used for tagging the image.
@ -61,7 +60,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,23 +102,22 @@ 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.
${_GREEN}Default:${_CLEAR} undefined
${_BOLD}Examples:${_CLEAR}
${0} master
This will fetch the latest 'master' branch, build a Docker Image and tag it
'netboxcommunity/netbox:latest'.
${0} develop
This will fetch the latest 'develop' branch, build a Docker Image and tag it
${0} main
This will fetch the latest 'main' branch, build a Docker Image and tag it
'netboxcommunity/netbox:snapshot'.
${0} v2.6.6
This will fetch the 'v2.6.6' tag, build a Docker Image and tag it
'netboxcommunity/netbox:v2.6.6' and 'netboxcommunity/netbox:v2.6'.
${0} v4.2.0
This will fetch the 'v4.2.0' tag, build a Docker Image and tag it
'netboxcommunity/netbox:v4.2.0' and 'netboxcommunity/netbox:v4.2'.
${0} develop-2.7
This will fetch the 'develop-2.7' branch, build a Docker Image and tag it
'netboxcommunity/netbox:develop-2.7'.
${0} feature
This will fetch the 'feature' branch, build a Docker Image and tag it
'netboxcommunity/netbox:feature'.
SRC_ORG=cimnine ${0} feature-x
This will fetch the 'feature-x' branch from https://github.com/cimnine/netbox.git,
@ -219,7 +217,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
###
@ -257,10 +255,7 @@ DOCKER_REGISTRY="${DOCKER_REGISTRY-docker.io}"
DOCKER_ORG="${DOCKER_ORG-netboxcommunity}"
DOCKER_REPO="${DOCKER_REPO-netbox}"
case "${NETBOX_BRANCH}" in
master)
TAG="${TAG-latest}"
;;
develop)
main)
TAG="${TAG-snapshot}"
;;
*)
@ -276,7 +271,7 @@ TARGET_DOCKER_TAG_PROJECT="${TARGET_DOCKER_TAG}-${PROJECT_VERSION}"
###
# composing the additional DOCKER_SHORT_TAG,
# i.e. "v2.6.1" becomes "v2.6",
# i.e. "v4.2.0" becomes "v4.2",
# which is only relevant for version tags
# Also let "latest" follow the highest version
###
@ -355,6 +350,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.
@ -337,3 +348,5 @@ SESSION_FILE_PATH = environ.get('SESSION_FILE_PATH', environ.get('SESSIONS_ROOT'
# Time zone (default: UTC)
TIME_ZONE = environ.get('TIME_ZONE', 'UTC')
# If true disables miscellaneous functionality which depends on access to the Internet.
ISOLATED_DEPLOYMENT = _environ_get_and_map('ISOLATED_DEPLOYMENT', 'False', _AS_BOOL)

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
@ -9,57 +9,62 @@ services:
redis-cache:
condition: service_healthy
env_file: env/netbox.env
user: 'unit:root'
user: "unit:root"
volumes:
- ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
- ./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:
- /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py
- rqworker
- /opt/netbox/venv/bin/python
- /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
- /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:17-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.1-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
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- 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,81 +1,78 @@
services:
netbox: &netbox
image: docker.io/netboxcommunity/netbox:${VERSION-v4.0-2.9.1}
image: docker.io/netboxcommunity/netbox:${VERSION-v4.3-3.3.0}
depends_on:
- postgres
- redis
- redis-cache
- 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
- netbox-reports-files:/opt/netbox/netbox/reports:rw
- netbox-scripts-files:/opt/netbox/netbox/scripts:rw
- ./configuration:/etc/netbox/config:z,ro
- netbox-media-files:/opt/netbox/netbox/media:rw
- netbox-reports-files:/opt/netbox/netbox/reports:rw
- netbox-scripts-files:/opt/netbox/netbox/scripts:rw
netbox-worker:
<<: *netbox
depends_on:
netbox:
condition: service_healthy
command:
- /opt/netbox/venv/bin/python
- /opt/netbox/netbox/manage.py
- rqworker
- /opt/netbox/venv/bin/python
- /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:
netbox:
condition: service_healthy
command:
- /opt/netbox/housekeeping.sh
- /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
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.1-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
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- 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
- netbox-redis-data:/data
redis-cache:
image: docker.io/redis:7-alpine
image: docker.io/valkey/valkey:8.1-alpine
command:
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
- sh
- -c # this is to evaluate the $REDIS_PASSWORD from the env
- valkey-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
healthcheck: *redis-healthcheck
env_file: env/redis-cache.env
volumes:
- netbox-redis-cache-data:/data
- netbox-redis-cache-data:/data
volumes:
netbox-media-files:
driver: local
netbox-postgres-data:
driver: local
netbox-redis-cache-data:
driver: local
netbox-redis-data:

View File

@ -1,16 +1,36 @@
{
"listeners": {
"0.0.0.0:8080": {
"pass": "routes/main"
},
"[::]:8080": {
"pass": "routes/main"
"pass": "routes/main",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
}
},
"0.0.0.0:8081": {
"pass": "routes/status"
"pass": "routes/status",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
}
},
"[::]:8080": {
"pass": "routes/main",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["fc00::/7", "fe80::/10"]
}
},
"[::]:8081": {
"pass": "routes/status"
"pass": "routes/status",
"forwarded": {
"client_ip": "X-Forwarded-For",
"protocol": "X-Forwarded-Proto",
"source": ["fc00::/7", "fe80::/10"]
}
}
},
"routes": {

1
docker/unit.list Normal file
View File

@ -0,0 +1 @@
deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://packages.nginx.org/unit/ubuntu/ noble unit

24
env/docker-compose.override.yml vendored Normal file
View File

@ -0,0 +1,24 @@
version: '3.4'
services:
netbox:
ports:
- 8085:8080
volumes:
- /media/nfs/netbox/config:/etc/netbox/config:z,ro
- /media/nfs/netbox/media:/opt/netbox/netbox/media:z,rw
- /media/nfs/netbox/reports:/opt/netbox/netbox/reports:z,rw
- /media/nfs/netbox/scripts:/opt/netbox/netbox/scripts:z,rw
healthcheck:
retries: 15
netbox-worker:
volumes:
- /media/nfs/netbox/config:/etc/netbox/config:z,ro
- /media/nfs/netbox/media:/opt/netbox/netbox/media:z,rw
- /media/nfs/netbox/reports:/opt/netbox/netbox/reports:z,rw
- /media/nfs/netbox/scripts:/opt/netbox/netbox/scripts:z,rw
netbox-housekeeping:
volumes:
- /media/nfs/netbox/config:/etc/netbox/config:z,ro
- /media/nfs/netbox/media:/opt/netbox/netbox/media:z,rw
- /media/nfs/netbox/reports:/opt/netbox/netbox/reports:z,rw
- /media/nfs/netbox/scripts:/opt/netbox/netbox/scripts:z,rw

6
env/netbox.env vendored
View File

@ -1,7 +1,7 @@
CORS_ORIGIN_ALLOW_ALL=True
DB_HOST=postgres
DB_HOST=192.168.0.52
DB_NAME=netbox
DB_PASSWORD=J5brHrAXFLQSif0K
DB_PASSWORD=netbox
DB_USER=netbox
EMAIL_FROM=netbox@bar.com
EMAIL_PASSWORD=
@ -30,5 +30,5 @@ REDIS_PASSWORD=H733Kdjndks81
REDIS_SSL=false
RELEASE_CHECK_URL=https://api.github.com/repos/netbox-community/netbox/releases
SECRET_KEY='r(m)9nLGnz$(_q3N4z1k(EFsMCjjjzx08x9VhNVcfd%6RF#r!6DE@+V5Zk2X'
SKIP_SUPERUSER=true
SKIP_SUPERUSER=false
WEBHOOKS_ENABLED=true

View File

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

View File

@ -3,4 +3,10 @@ LOGGING = {
'disable_existing_loggers': True
}
PLUGINS = [
'netbox.tests.dummy_plugin',
]
ALLOW_TOKEN_RETRIEVAL = True
DEFAULT_PERMISSIONS = {}

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"