Compare commits

..

185 Commits

Author SHA1 Message Date
D-Ev_io 753cb98ca3 change port 8000 to 8080 2024-12-02 22:17:07 +02:00
D-Ev_io b9836c3af2 Merge remote-tracking branch 'origin/release' into release
# Conflicts:
#	docker-compose.yml
2024-12-02 22:15:18 +02:00
Tobias Genannt 27bf52cf3e
Merge pull request #1322 from netbox-community/develop
Version 3.0.2
2024-09-19 14:21:53 +02:00
Tobias Genannt 5dea11c4d4 Preparation for 3.0.2 2024-09-19 13:43:31 +02:00
Tobias Genannt 35c19d0fc8 Upgrade Nginx Unit to version 1.33 2024-09-18 17:56:55 +02:00
Tobias Genannt 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
renovate[bot] 09c897aa22
Update dependency sentry-sdk to v2.14.0 2024-09-09 14:16:13 +00:00
Tobias Genannt 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
Tobias Genannt f134a44bc7 When no build is needed don't create the buildx config 2024-09-06 09:50:12 +02:00
Tobias Genannt 5add31ee7a
Merge pull request #1301 from netbox-community/develop
Version 3.0.1
2024-09-06 09:41:54 +02:00
Tobias Genannt 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
Tobias Genannt 942f978ed2
Revert "Feature: Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variables" 2024-09-04 17:53:24 +02:00
Tobias Genannt 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
Tobias Genannt 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
Tobias Genannt f13a6bf5e4 Preparation for 3.0.1 2024-09-04 07:25:44 +02:00
Tobias Genannt 52f80cc7ca Fix #1300: Disable ARM64 release 2024-09-04 07:25:04 +02:00
Tobias Genannt 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
Tobias Genannt 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
renovate[bot] 6e735fd431
Update dependency sentry-sdk to v2.13.0 2024-09-03 20:03:58 +00:00
Tobias Genannt ab2a7bc8e5
Merge pull request #1298 from netbox-community/develop
Version 3.0.0
2024-09-03 22:03:12 +02:00
Tobias Genannt 09ba1d3f4e More linter fixes 2024-09-03 20:31:00 +02:00
Tobias Genannt f3a78bfd10 More linter fixes 2024-09-03 20:26:16 +02:00
Tobias Genannt b81d4fba64 Updated YAML formatting to fix linter 2024-09-03 20:22:55 +02:00
Tobias Genannt 2c26000304 Preparation for 3.0.0 2024-09-03 20:08:36 +02:00
NeodymiumFerBore 671f5e9411 Adapt ldap/extra: LDAPGroupQuery is now imported in ldap_config 2024-09-02 17:29:17 +00:00
NeodymiumFerBore d9ff19fd30 Support for multiple AUTH_LDAP_REQUIRE_GROUP from environment variable 2024-09-02 17:27:37 +00:00
Tobias Genannt 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
Tobias Genannt a75db6add9 Fix linter error 2024-09-01 13:23:58 +02:00
renovate[bot] 279a54bef0
Update github/super-linter action to v7 2024-08-29 19:48:38 +00:00
Tobias Genannt 3f5f4ff8bb
Merge pull request #1287 from tobiasge/prepare-ubuntu-24.04
Prepare for Ubuntu 24.04
2024-08-21 12:53:37 +02:00
Tobias Genannt 59922f3423 Prepare for Ubuntu 24.04 2024-08-21 10:38:20 +02:00
Tobias Genannt 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
renovate[bot] 838a56c96f
Update docker.io/valkey/valkey Docker tag to v8 2024-08-02 02:08:50 +00:00
Tobias Genannt 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
renovate[bot] 542300056c
Update dependency sentry-sdk to v2.12.0 2024-07-31 10:32:58 +00:00
Tobias Genannt 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
renovate[bot] 2a15689e5f
Update dependency sentry-sdk to v2.11.0 2024-07-24 10:38:05 +00:00
Tobias Genannt 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
renovate[bot] 3134057f87
Update dependency sentry-sdk to v2.10.0 2024-07-15 11:07:41 +00:00
Tobias Genannt 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
renovate[bot] 51372eed32
Update dependency sentry-sdk to v2.9.0 2024-07-10 09:41:27 +00:00
Tobias Genannt 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
renovate[bot] 279873d20e
Update dependency django-storages to v1.14.4 2024-07-09 04:30:55 +00:00
Tobias Genannt 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
renovate[bot] 29e66a0a01
Update dependency sentry-sdk to v2.8.0 2024-07-08 09:58:02 +00:00
Christian Mäder 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
renovate[bot] 84132e4b59
Update dependency sentry-sdk to v2.7.1 2024-06-27 17:02:32 +00:00
Tobias Genannt 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
renovate[bot] 53418e7d19
Update dependency sentry-sdk to v2.7.0 2024-06-26 14:19:54 +00:00
Tobias Genannt 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
renovate[bot] bb9a7fe542
Update dependency sentry-sdk to v2.6.0 2024-06-19 15:05:23 +00:00
Tobias Genannt 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
renovate[bot] ee2d1dea17
Update dependency sentry-sdk to v2.5.1 2024-06-07 21:53:49 +00:00
Tobias Genannt 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
Christian Mäder 8017bb72b9
Merge pull request #1255 from threes33/HTTP_PROXIES
Add HTTP_PROXIES related parameters
2024-06-06 18:14:51 +02:00
renovate[bot] 33d5230859
Update dependency sentry-sdk to v2.5.0 2024-06-06 14:13:00 +00:00
threes33 f0b3a0701c Adds HTTP_PROXIES related parameters 2024-06-04 12:29:35 -07:00
Tobias Genannt 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
renovate[bot] ac496a16ee
Update dependency sentry-sdk to v2.4.0 2024-06-04 11:52:02 +00:00
Christian Mäder e4315245b0
Merge pull request #1203 from cimnine/valkey
Switch from Redis to Valkey and add Healthchecks
2024-05-25 16:20:07 +02:00
Tobias Genannt d4e94017b4
Merge pull request #1230 from lchastel/saml
Add xmlsec with no-binary option
2024-05-25 15:54:46 +02:00
Christian Mäder 21cf7b498d Fix port 2024-05-25 15:45:25 +02:00
Christian Mäder 2bbb2d16e1
Merge pull request #1144 from hendrikbl/remote-auth-env
add missing REMOTE_AUTH config options
2024-05-25 15:43:23 +02:00
Christian Mäder 9d04f2a7a5 Fix endpoint 2024-05-25 15:26:07 +02:00
Christian Mäder b29f7fd446 Disable valkey persistence in tests 2024-05-25 15:24:15 +02:00
Christian Mäder 6a3ba4409e Update test to valkey as well 2024-05-25 15:24:12 +02:00
Tobias Genannt 570bb311e2
Merge branch 'develop' into saml 2024-05-25 15:21:57 +02:00
Christian Mäder 5e492c63c6 Suggestion from Tobias 2024-05-25 15:17:22 +02:00
Christian Mäder 26b15f9ff1 Add healthcheck to postgres too 2024-05-25 15:17:22 +02:00
Christian Mäder 3c8449fbec Switch to valkey and add healthcheck 2024-05-25 15:17:22 +02:00
Christian Mäder 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
renovate[bot] 75fa7e7e99
Update dependency sentry-sdk to v2.3.1 2024-05-23 14:08:00 +00:00
Tobias Genannt 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
renovate[bot] daa8b40c34
Update dependency sentry-sdk to v2.3.0 2024-05-23 11:23:15 +00:00
Tobias Genannt 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
renovate[bot] 730743139e
Update dependency sentry-sdk to v2.2.1 2024-05-21 12:56:09 +00:00
Tobias Genannt 94e242179a
Merge pull request #1240 from tobiasge/login-required-default
Change LOGIN_REQUIRED default to 'True'
2024-05-21 14:55:43 +02:00
Tobias Genannt 8c691f1308 Change LOGIN_REQUIRED default to 'True' 2024-05-21 13:42:13 +02:00
Tobias Genannt 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
renovate[bot] 60e9cfd458
Update dependency sentry-sdk to v2.2.0 2024-05-16 19:29:50 +00:00
Benjamin Reed 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
Niklas 918952a2a5
Update docker-compose.yml 2024-05-10 10:19:55 +02:00
Laurent 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
Tobias Genannt 0c99ff8b56
Merge pull request #1225 from netbox-community/develop
Version 2.9.1
2024-05-07 18:29:09 +02:00
Tobias Genannt 1265d2277a Preparation for 2.9.1 2024-05-07 13:45:53 +02:00
Tobias Genannt 620ca96d64
Merge pull request #1224 from tobiasge/fix-sentry-sdk
Install Sentry Django integration correctly
2024-05-07 12:34:09 +02:00
Tobias Genannt 2561055265 Install Sentry Django integration correctly 2024-05-07 09:57:59 +02:00
Tobias Genannt 53ac2ff81b
Merge pull request #1223 from tobiasge/1222-fix-health-check
Fix #1222: Use /login/ as health check URL
2024-05-07 08:37:20 +02:00
Tobias Genannt b6492b2e6b Fix #1222: Use /login/ as health check URL 2024-05-07 07:15:37 +02:00
Tobias Genannt 6d25a54d49
Merge pull request #1219 from netbox-community/develop
Version 2.9.0
2024-05-06 21:26:10 +02:00
Tobias Genannt 36f409a16b Preparation for 2.9.0 2024-05-06 19:04:09 +02:00
Tobias Genannt 9d247f5530
Merge pull request #1216 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.3
2024-05-06 18:58:40 +02:00
Tobias Genannt 7a42faaabc
Merge pull request #1218 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2.1.1
2024-05-06 18:58:19 +02:00
Tobias Genannt f5a3e3f955
Merge pull request #1215 from tobiasge/prepare-nb40
Prepare for NetBox 4.0
2024-05-06 18:57:57 +02:00
renovate[bot] 6307a58c4a
Update dependency sentry-sdk to v2.1.1 2024-05-06 12:35:54 +00:00
Tobias Genannt 1e78c386a5 Fixed regex for social-auth-core replacement 2024-05-06 09:56:49 +02:00
renovate[bot] 40f24105e6
Update dependency django-storages to v1.14.3 2024-05-04 23:02:30 +00:00
Tobias Genannt 1a4ef09a16
Merge branch 'develop' into prepare-nb40 2024-05-04 10:02:19 +02:00
Tobias Genannt 3d6b6c2a67
Merge pull request #1210 from netbox-community/renovate/github-super-linter-6.x
Update github/super-linter action to v6
2024-04-28 10:36:19 +02:00
Tobias Genannt f1787b4775 Disabled new tests 2024-04-28 09:29:43 +02:00
Tobias Genannt a7cb1a4651
Merge pull request #1211 from netbox-community/renovate/sentry-sdk-2.x
Update dependency sentry-sdk to v2
2024-04-28 09:24:15 +02:00
renovate[bot] 8fb42b3213
Update dependency sentry-sdk to v2 2024-04-26 10:16:25 +00:00
renovate[bot] b7d99c9c69
Update github/super-linter action to v6 2024-04-23 19:44:05 +00:00
Christian Mäder d52ef4445e
Merge pull request #1209 from cimnine/HSTS
Adds HSTS related parameters
2024-04-23 21:43:40 +02:00
Christian Mäder e1335a1194 Adds SECURE_* parameters introduced in 3.7.6
See https://github.com/netbox-community/netbox/issues/15644
2024-04-23 16:40:40 +02:00
Tobias Genannt c9d8f55ea1
Merge pull request #1208 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.1
2024-04-23 16:22:10 +02:00
renovate[bot] 347b943b75
Update dependency dulwich to v0.22.1 2024-04-23 13:58:41 +00:00
Tobias Genannt f15dec52ae
Merge pull request #1207 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.22.0
2024-04-23 06:59:08 +02:00
renovate[bot] e024427428
Update dependency dulwich to v0.22.0 2024-04-22 19:13:28 +00:00
D-Ev_io 8b3ded51b5 change port 8000 to 8080 2024-04-21 14:51:01 +03:00
D-Ev_io 302f6464bb change port 8000 to 8080 2024-04-21 14:50:47 +03:00
D-Ev_io dabfc38a92 enable docker-compose.override.yml 2024-04-21 14:41:35 +03:00
Tobias Genannt 5f57cb2774
Merge pull request #1206 from tobiasge/cancel-old-runs
Cancel workflow runs for in progress PRs
2024-04-20 21:07:34 +02:00
Tobias Genannt 5873885edc Cancel workflow runs for in progress PRs 2024-04-19 21:53:06 +02:00
Tobias Genannt e141d9f16d Prepare for Netbox 4.0 2024-04-17 14:09:24 +02:00
Tobias Genannt eb59ace74c
Merge pull request #1199 from netbox-community/renovate/sentry-sdk-1.x
Update dependency sentry-sdk to v1.45.0
2024-04-10 23:53:57 +02:00
renovate[bot] 2ee4acba21
Update dependency sentry-sdk to v1.45.0 2024-04-10 14:59:14 +00:00
Tobias Genannt 2a582304b3
Merge pull request #1196 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.8.0
2024-04-04 19:56:41 +02:00
Tobias Genannt 5309673f95
Merge pull request #1193 from kchandan/docker-version
Docker compose file version line obsolete issue fix
2024-04-04 19:02:29 +02:00
Tobias Genannt 3c07538719
Merge pull request #1195 from netbox-community/renovate/sentry-sdk-1.x
Update dependency sentry-sdk to v1.44.1
2024-04-04 15:40:34 +02:00
renovate[bot] 3df807faa0
Update dependency django-auth-ldap to v4.8.0 2024-04-04 13:21:43 +00:00
renovate[bot] 4c0ee77bd0
Update dependency sentry-sdk to v1.44.1 2024-04-03 10:47:45 +00:00
Chandan Kumar 6c01ada882 Removed version line from the yaml file as it is obsolete 2024-04-01 16:57:53 -04:00
Tobias Genannt b6e5486b48
Merge pull request #1189 from netbox-community/renovate/sentry-sdk-1.x
Update dependency sentry-sdk to v1.44.0
2024-03-28 19:30:14 +01:00
renovate[bot] 46f628e91b
Update dependency sentry-sdk to v1.44.0 2024-03-28 17:06:50 +00:00
Tobias Genannt 9f009c5907
Merge pull request #1166 from tobiasge/sentry-sdk
Fix #1127: Added sentry-sdk to requirements
2024-03-27 14:44:32 +01:00
Tobias Genannt 73ce1f9b7a Fix #1127: Added sentry-sdk to requirements 2024-03-27 07:30:21 +01:00
Tobias Genannt f443d4ac53
Merge pull request #1183 from tobiasge/avoid-duplicate-checks
Avoid duplicate checks for Renovate PRs
2024-03-27 06:52:23 +01:00
Tobias Genannt 1b9bb2a25e
Merge pull request #1181 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.7.0
2024-03-27 06:50:43 +01:00
Tobias Genannt d2d7948021 Avoid duplicate checks for Renovate PRs 2024-03-26 17:32:05 +01:00
renovate[bot] 31a4da297a
Update dependency django-auth-ldap to v4.7.0 2024-03-26 16:12:04 +00:00
Tobias Genannt 8e278c3c8e
Merge pull request #1167 from tobiasge/unit-ubuntu-update
Unit and Ubuntu update
2024-03-26 17:09:04 +01:00
Tobias Genannt 24eaba7f9b Use ARM64 self-hosted runner 2024-03-02 13:25:38 +01:00
Tobias Genannt 99b906c4f1 Update Ubuntu and Nginx Unit 2024-02-28 08:07:43 +01:00
Tobias Genannt 37733049da
Merge pull request #1135 from tbotnz/release
fix segfault
2024-02-22 09:26:49 +01:00
Tobias Genannt 4da3f75c14
Merge pull request #1138 from adlerweb/patch-1
docker-entrypoint.sh: clarify default token message
2024-02-22 08:18:27 +01:00
Florian Knodt 607ccd10bf docker-entrypoint.sh: clarify default token message
When a default admin API token is found, a warning is displayed. As it is only called "token", some users might not know what token is referred to. Also the message should give a hint or link to a documentation on how to remove it.
2024-02-22 07:10:06 +01:00
tbotnz f27148634a fix segfault 2024-02-22 07:07:53 +01:00
Tobias Genannt 46edaa1d22
Merge pull request #1151 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.18
2024-02-05 08:00:18 +01:00
renovate[bot] 064b713489
Update dependency psycopg to v3.1.18 2024-02-04 21:43:13 +00:00
Hendrik Blöß 9169fc7684 added missing REMOTE_AUTH config options 2024-01-30 12:14:16 +01:00
Tobias Genannt b8a7ffdb7b
Merge pull request #1134 from NeodymiumFerBore/feat/redis-sentinel-config
Add Redis Sentinel config as environment vars
2024-01-20 10:46:06 +01:00
Tobias Genannt 8450ba2f74
Merge pull request #1133 from kindlich/patch-1
Add env var for CENSUS_REPORTING_ENABLED
2024-01-20 10:38:04 +01:00
NdFeB 291ba760f1 Add Redis Sentinel config as environment vars 2024-01-16 14:28:59 +01:00
kindlich 2fbb5dd0b0
Add env var for CENSUS_REPORTING_ENABLED
See #999
2024-01-16 10:20:03 +01:00
Tobias Genannt ea81db4789
Merge pull request #1129 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.17
2024-01-08 08:15:13 +01:00
renovate[bot] 249e589096
Update dependency psycopg to v3.1.17 2024-01-07 16:16:19 +00:00
Tobias Genannt f1ca9ab7eb
Merge pull request #1125 from netbox-community/develop
Release 2.8.0
2024-01-02 08:57:00 +01:00
Tobias Genannt dfa1904a82 Preparation for 2.8.0 2024-01-01 10:33:59 +01:00
Tobias Genannt b5c12a82d2
Merge pull request #1120 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.21.7
2023-12-19 15:09:48 +01:00
renovate[bot] 7e1750d3a3
Update dependency dulwich to v0.21.7 2023-12-19 12:50:54 +00:00
Tobias Genannt 651bbc49ba
Merge pull request #1115 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.16
2023-12-19 13:50:33 +01:00
Tobias Genannt d72facf182
Merge pull request #1122 from netbox-community/renovate/actions-setup-python-5.x
Update actions/setup-python action to v5
2023-12-19 13:50:14 +01:00
renovate[bot] d7866d5f6e
Update dependency psycopg to v3.1.16 2023-12-19 11:24:47 +00:00
renovate[bot] 33430fda08
Update actions/setup-python action to v5 2023-12-06 12:35:21 +00:00
Tobias Genannt e020b46f6a
Merge pull request #1101 from netbox-community/renovate/python3-saml-1.x
Update dependency python3-saml to v1.16.0
2023-10-09 15:22:17 +02:00
renovate[bot] 51049781b4
Update dependency python3-saml to v1.16.0 2023-10-09 11:06:17 +00:00
Tobias Genannt 1e681f30b3
Merge pull request #1097 from netbox-community/renovate/django-auth-ldap-4.x
Update dependency django-auth-ldap to v4.6.0
2023-10-09 10:17:32 +02:00
renovate[bot] 4680e59a07
Update dependency django-auth-ldap to v4.6.0 2023-10-09 06:13:57 +00:00
Tobias Genannt aaaa628585
Merge pull request #1100 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.2
2023-10-09 08:13:44 +02:00
renovate[bot] e8fa63d18b
Update dependency django-storages to v1.14.2 2023-10-09 03:36:20 +00:00
Tobias Genannt 17b9569094
Merge pull request #1095 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14.1
2023-09-30 09:22:57 +02:00
renovate[bot] 1a3ace957a
Update dependency django-storages to v1.14.1 2023-09-29 15:58:04 +00:00
Tobias Genannt 96799369fe
Merge pull request #1091 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.12
2023-09-27 06:57:48 +02:00
renovate[bot] f1de85d975
Update dependency psycopg to v3.1.12 2023-09-27 00:39:53 +00:00
Tobias Genannt 830d498094
Merge pull request #1083 from netbox-community/renovate/postgres-16.x
Update postgres Docker tag to v16
2023-09-23 18:58:51 +02:00
renovate[bot] 714a132566
Update postgres Docker tag to v16 2023-09-23 14:42:28 +00:00
Tobias Genannt d0fbb37d66
Merge pull request #1090 from netbox-community/renovate/psycopg-3.x
Update dependency psycopg to v3.1.11
2023-09-23 16:42:15 +02:00
renovate[bot] 87159b56be
Update dependency psycopg to v3.1.11 2023-09-23 12:57:54 +00:00
Tobias Genannt 252ab33560
Merge pull request #1082 from netbox-community/renovate/docker.io-postgres-16.x
Update docker.io/postgres Docker tag to v16
2023-09-23 14:57:42 +02:00
renovate[bot] 0603f1ebe9
Update docker.io/postgres Docker tag to v16 2023-09-15 23:13:09 +00:00
Christian Mäder 164b01319c
Merge pull request #1074 from netbox-community/renovate/docker-login-action-3.x
Update docker/login-action action to v3
2023-09-12 21:30:03 +02:00
renovate[bot] e6fedf16fe
Update docker/login-action action to v3 2023-09-12 18:03:05 +00:00
Christian Mäder 0594d2c3ae
Merge pull request #1076 from netbox-community/renovate/docker-setup-qemu-action-3.x
Update docker/setup-qemu-action action to v3
2023-09-12 20:02:51 +02:00
renovate[bot] 8b8447f5c6
Update docker/setup-qemu-action action to v3 2023-09-12 15:12:56 +00:00
Christian Mäder f42e78ece2
Merge pull request #1075 from netbox-community/renovate/docker-setup-buildx-action-3.x
Update docker/setup-buildx-action action to v3
2023-09-12 16:20:00 +02:00
renovate[bot] c473fcc44a
Update docker/setup-buildx-action action to v3 2023-09-12 09:21:44 +00:00
Tobias Genannt bcafc4328c
Merge pull request #1067 from tobiasge/unit-update
Update Nginx unit to 1.31
2023-09-05 10:01:19 +02:00
Tobias Genannt fe27ebc907
Merge pull request #1069 from netbox-community/renovate/actions-checkout-4.x
Update actions/checkout action to v4
2023-09-05 09:48:27 +02:00
renovate[bot] 364555eef6
Update actions/checkout action to v4 2023-09-05 05:38:37 +00:00
Tobias Genannt 451337750a
Merge pull request #1070 from netbox-community/renovate/django-storages-1.x
Update dependency django-storages to v1.14
2023-09-05 07:38:24 +02:00
renovate[bot] bc6e4f81b0
Update dependency django-storages to v1.14 2023-09-05 01:09:06 +00:00
Tobias Genannt e452004526 Update Nginx unit to 1.31 2023-09-03 09:07:26 +02:00
Tobias Genannt caba1b335d
Merge pull request #1066 from netbox-community/renovate/dulwich-0.x
Update dependency dulwich to v0.21.6
2023-09-02 21:00:17 +02:00
renovate[bot] c798e881b0
Update dependency dulwich to v0.21.6 2023-09-02 13:43:45 +00:00
23 changed files with 409 additions and 333 deletions

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,7 +1,7 @@
name: Bug report
description: Create a report about a malfunction of the Docker setup
body:
- type: markdown
- type: markdown
attributes:
value: |
Please only raise an issue if you're certain that you've found a bug.
@ -28,7 +28,7 @@ body:
Please don't open an issue to open a PR.
Just submit the PR, that's good enough.
- type: textarea
- type: textarea
id: current-behavior
attributes:
label: Current Behavior
@ -36,7 +36,7 @@ body:
placeholder: I tried to … by doing …, but it …
validations:
required: true
- type: textarea
- type: textarea
id: expected-behavior
attributes:
label: Expected Behavior
@ -44,7 +44,7 @@ body:
placeholder: I expected that … when I do …
validations:
required: true
- type: input
- type: input
id: docker-compose-version
attributes:
label: Docker Compose Version
@ -52,7 +52,7 @@ body:
placeholder: Docker Compose version vX.Y.Z
validations:
required: true
- type: textarea
- type: textarea
id: docker-version
attributes:
label: Docker Version
@ -90,14 +90,14 @@ body:
GitCommit: de40ad0
validations:
required: true
- type: input
- 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
- type: textarea
id: git-status
attributes:
label: The git Status
@ -108,7 +108,7 @@ body:
nothing to commit, working tree clean
validations:
required: true
- type: input
- type: input
id: run-command
attributes:
label: Startup Command
@ -116,7 +116,7 @@ body:
placeholder: docker compose up
validations:
required: true
- type: textarea
- type: textarea
id: netbox-logs
attributes:
label: NetBox Logs
@ -132,7 +132,7 @@ body:
...
validations:
required: true
- type: textarea
- type: textarea
id: docker-compose-override-yml
attributes:
label: Content of docker-compose.override.yml

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,7 +1,7 @@
name: Feature or Change Request
description: Request a new feature or a change of the current behavior
body:
- type: markdown
- type: markdown
attributes:
value: |
This issue type is to propose new features for the Docker setup.
@ -30,7 +30,7 @@ body:
Please don't open an issue to open a PR.
Just submit the PR, that's good enough.
- type: textarea
- type: textarea
id: desired-behavior
attributes:
label: Desired Behavior
@ -38,7 +38,7 @@ body:
placeholder: To me, it would be useful, if … because …
validations:
required: true
- type: textarea
- type: textarea
id: contrast-to-current
attributes:
label: Contrast to Current Behavior
@ -46,7 +46,7 @@ body:
placeholder: The current behavior is …, but this lacks …
validations:
required: true
- type: textarea
- type: textarea
id: required-changes
attributes:
label: Required Changes
@ -54,10 +54,10 @@ body:
placeholder: I suggest to change the file …
validations:
required: false
- type: textarea
- 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

@ -5,33 +5,40 @@ on:
push:
branches-ignore:
- release
- renovate/**
pull_request:
branches-ignore:
- release
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
name: Checks syntax of our code
steps:
- uses: actions/checkout@v3
- 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@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: "3.9"
- name: Lint Code Base
uses: github/super-linter@v5
uses: github/super-linter@v7
env:
DEFAULT_BRANCH: develop
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SUPPRESS_POSSUM: true
LINTER_RULES_PATH: /
VALIDATE_ALL_CODEBASE: false
VALIDATE_CHECKOV: false
VALIDATE_DOCKERFILE: false
VALIDATE_GITLEAKS: false
VALIDATE_JSCPD: false
FILTER_REGEX_EXCLUDE: (.*/)?(LICENSE|configuration/.*)
EDITORCONFIG_FILE_NAME: .ecrc
DOCKERFILE_HADOLINT_FILE_NAME: .hadolint.yaml
@ -49,35 +56,36 @@ jobs:
- PRERELEASE=true ./build-latest.sh
- ./build.sh feature
- ./build.sh develop
platform:
- linux/amd64
- linux/arm64
os:
- ubuntu-latest
- self-hosted
fail-fast: false
env:
GH_ACTION: enable
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
IMAGE_NAMES: docker.io/netboxcommunity/netbox
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
name: Builds new NetBox Docker Images
steps:
- id: git-checkout
name: Checkout
uses: actions/checkout@v3
- id: qemu-setup
name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: actions/checkout@v4
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- id: arm-buildx-platform
name: Set BUILDX_PLATFORM to ARM64
if: matrix.os == 'self-hosted'
run: |
echo "BUILDX_PLATFORM=linux/arm64" >>"${GITHUB_ENV}"
- id: docker-build
name: Build the image for '${{ matrix.platform }}' with '${{ matrix.build_cmd }}'
name: Build the image for '${{ matrix.os }}' with '${{ matrix.build_cmd }}'
run: ${{ matrix.build_cmd }}
env:
BUILDX_PLATFORM: ${{ matrix.platform }}
BUILDX_BUILDER_NAME: ${{ steps.buildx-setup.outputs.name }}
- id: arm-time-limit
name: Set Netbox container start_period higher on ARM64
if: matrix.platform == 'linux/arm64'
if: matrix.os == 'self-hosted'
run: |
echo "NETBOX_START_PERIOD=240s" >>"${GITHUB_ENV}"
- id: docker-test

View File

@ -6,7 +6,7 @@ on:
types:
- published
schedule:
- cron: '45 5 * * *'
- cron: "45 5 * * *"
workflow_dispatch:
jobs:
@ -30,55 +30,55 @@ jobs:
steps:
- id: source-checkout
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- 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@v2
- id: buildx-setup
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- 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
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
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
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
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
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
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 }}

1
.gitignore vendored
View File

@ -1,7 +1,6 @@
*.sql.gz
.netbox
.python-version
docker-compose.override.yml
*.pem
configuration/*
!configuration/configuration.py

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 \
@ -31,14 +31,12 @@ RUN export DEBIAN_FRONTEND=noninteractive \
ARG NETBOX_PATH
COPY ${NETBOX_PATH}/requirements.txt requirements-container.txt /
RUN \
# We compile 'psycopg' in the build process
sed -i -e '/psycopg/d' /requirements.txt && \
# Gunicorn is not needed because we use Nginx Unit
sed -i -e '/gunicorn/d' /requirements.txt && \
# We need 'social-auth-core[all]' in the Docker image. But if we put it in our own requirements-container.txt
# 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\[openidconnect\]/social-auth-core\[all\]/g' /requirements.txt && \
sed -i -e 's/social-auth-core/social-auth-core\[all\]/g' /requirements.txt && \
/opt/netbox/venv/bin/pip install \
-r /requirements.txt \
-r /requirements-container.txt
@ -48,7 +46,7 @@ RUN \
###
ARG FROM
FROM ${FROM} as main
FROM ${FROM} AS main
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
@ -65,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/ lunar 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.30.0-1~lunar \
unit-python3.11=1.30.0-1~lunar \
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

@ -34,7 +34,6 @@ There is a more complete [_Getting Started_ guide on our wiki][wiki-getting-star
git clone -b release https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
tee docker-compose.override.yml <<EOF
version: '3.4'
services:
netbox:
ports:

View File

@ -1 +1 @@
2.7.0
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.04'
${_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.04"
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

@ -86,6 +86,9 @@ REDIS = {
'tasks': {
'HOST': environ.get('REDIS_HOST', 'localhost'),
'PORT': _environ_get_and_map('REDIS_PORT', 6379, _AS_INT),
'SENTINELS': [tuple(uri.split(':')) for uri in _environ_get_and_map('REDIS_SENTINELS', '', _AS_LIST) if uri != ''],
'SENTINEL_SERVICE': environ.get('REDIS_SENTINEL_SERVICE', 'default'),
'SENTINEL_TIMEOUT': _environ_get_and_map('REDIS_SENTINEL_TIMEOUT', 10, _AS_INT),
'USERNAME': environ.get('REDIS_USERNAME', ''),
'PASSWORD': _read_secret('redis_password', environ.get('REDIS_PASSWORD', '')),
'DATABASE': _environ_get_and_map('REDIS_DATABASE', 0, _AS_INT),
@ -95,6 +98,8 @@ REDIS = {
'caching': {
'HOST': environ.get('REDIS_CACHE_HOST', environ.get('REDIS_HOST', 'localhost')),
'PORT': _environ_get_and_map('REDIS_CACHE_PORT', environ.get('REDIS_PORT', '6379'), _AS_INT),
'SENTINELS': [tuple(uri.split(':')) for uri in _environ_get_and_map('REDIS_CACHE_SENTINELS', '', _AS_LIST) if uri != ''],
'SENTINEL_SERVICE': environ.get('REDIS_CACHE_SENTINEL_SERVICE', environ.get('REDIS_SENTINEL_SERVICE', 'default')),
'USERNAME': environ.get('REDIS_CACHE_USERNAME', environ.get('REDIS_USERNAME', '')),
'PASSWORD': _read_secret('redis_cache_password', environ.get('REDIS_CACHE_PASSWORD', environ.get('REDIS_PASSWORD', ''))),
'DATABASE': _environ_get_and_map('REDIS_CACHE_DATABASE', '1', _AS_INT),
@ -183,15 +188,22 @@ EMAIL = {
if 'ENFORCE_GLOBAL_UNIQUE' in environ:
ENFORCE_GLOBAL_UNIQUE = _environ_get_and_map('ENFORCE_GLOBAL_UNIQUE', None, _AS_BOOL)
# By default, netbox sends census reporting data using a single HTTP request each time a worker starts.
# This data enables the project maintainers to estimate how many NetBox deployments exist and track the adoption of new versions over time.
# The only data reported by this function are the NetBox version, Python version, and a pseudorandom unique identifier.
# To opt out of census reporting, set CENSUS_REPORTING_ENABLED to False.
if 'CENSUS_REPORTING_ENABLED' in environ:
CENSUS_REPORTING_ENABLED = _environ_get_and_map('CENSUS_REPORTING_ENABLED', None, _AS_BOOL)
# Exempt certain models from the enforcement of view permissions. Models listed here will be viewable by all users and
# by anonymous users. List models in the form `<app>.<model>`. Add '*' to this list to exempt all models.
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.
@ -209,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])
@ -274,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.
@ -300,6 +323,23 @@ CSRF_TRUSTED_ORIGINS = _environ_get_and_map('CSRF_TRUSTED_ORIGINS', '', _AS_LIST
# The name to use for the session cookie.
SESSION_COOKIE_NAME = environ.get('SESSION_COOKIE_NAME', 'sessionid')
# If true, the `includeSubDomains` directive will be included in the HTTP Strict Transport Security (HSTS) header.
# This directive instructs the browser to apply the HSTS policy to all subdomains of the current domain.
SECURE_HSTS_INCLUDE_SUBDOMAINS = _environ_get_and_map('SECURE_HSTS_INCLUDE_SUBDOMAINS', 'False', _AS_BOOL)
# If true, the `preload` directive will be included in the HTTP Strict Transport Security (HSTS) header.
# This directive instructs the browser to preload the site in HTTPS. Browsers that use the HSTS preload list will force the
# site to be accessed via HTTPS even if the user types HTTP in the address bar.
SECURE_HSTS_PRELOAD = _environ_get_and_map('SECURE_HSTS_PRELOAD', 'False', _AS_BOOL)
# If set to a non-zero integer value, the SecurityMiddleware sets the HTTP Strict Transport Security (HSTS) header on all
# responses that do not already have it. This will instruct the browser that the website must be accessed via HTTPS,
# blocking any HTTP request.
SECURE_HSTS_SECONDS = _environ_get_and_map('SECURE_HSTS_SECONDS', 0, _AS_INT)
# If true, all non-HTTPS requests will be automatically redirected to use HTTPS.
SECURE_SSL_REDIRECT = _environ_get_and_map('SECURE_SSL_REDIRECT', 'False', _AS_BOOL)
# By default, NetBox will store session data in the database. Alternatively, a file path can be specified here to use
# local file storage instead. (This can be useful for enabling authentication on a standby instance with read-only
# database access.) Note that the user as which NetBox runs must have read and write permissions to this path.
@ -308,11 +348,3 @@ SESSION_FILE_PATH = environ.get('SESSION_FILE_PATH', environ.get('SESSIONS_ROOT'
# Time zone (default: UTC)
TIME_ZONE = environ.get('TIME_ZONE', 'UTC')
# Date/time formatting. See the following link for supported formats:
# https://docs.djangoproject.com/en/stable/ref/templates/builtins/#date
DATE_FORMAT = environ.get('DATE_FORMAT', 'N j, Y')
SHORT_DATE_FORMAT = environ.get('SHORT_DATE_FORMAT', 'Y-m-d')
TIME_FORMAT = environ.get('TIME_FORMAT', 'g:i a')
SHORT_TIME_FORMAT = environ.get('SHORT_TIME_FORMAT', 'H:i:s')
DATETIME_FORMAT = environ.get('DATETIME_FORMAT', 'N j, Y g:i a')
SHORT_DATETIME_FORMAT = environ.get('SHORT_DATETIME_FORMAT', 'Y-m-d H:i')

View File

@ -0,0 +1,21 @@
services:
netbox:
ports:
- "8000:8080"
# If you want the Nginx unit status page visible from the
# outside of the container add the following port mapping:
# - "8001:8081"
# healthcheck:
# Time for which the health check can fail after the container is started.
# This depends mostly on the performance of your database. On the first start,
# when all tables need to be created the start_period should be higher than on
# subsequent starts. For the first start after major version upgrades of NetBox
# the start_period might also need to be set higher.
# Default value in our docker-compose.yml is 60s
# start_period: 90s
# environment:
# SKIP_SUPERUSER: "false"
# SUPERUSER_API_TOKEN: ""
# SUPERUSER_EMAIL: ""
# SUPERUSER_NAME: ""
# SUPERUSER_PASSWORD: ""

View File

@ -1,4 +1,3 @@
version: '3.4'
services:
netbox:
ports:

View File

@ -1,4 +1,3 @@
version: '3.4'
services:
netbox:
ports:

View File

@ -1,7 +1,6 @@
version: '3.4'
services:
netbox: &netbox
image: ${IMAGE-netboxcommunity/netbox:latest}
image: ${IMAGE-docker.io/netboxcommunity/netbox:latest}
depends_on:
postgres:
condition: service_healthy
@ -14,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:
@ -25,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:15-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,18 +1,17 @@
version: '3.4'
services:
netbox: &netbox
image: docker.io/netboxcommunity/netbox:${VERSION-v3.6-2.7.0}
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/api/ || exit 1"
volumes:
- ./configuration:/etc/netbox/config:z,ro
- netbox-media-files:/opt/netbox/netbox/media:rw
@ -28,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:
@ -40,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:15-alpine
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

@ -72,10 +72,9 @@ else
fi
./manage.py shell --interface python <<END
from django.contrib.auth.models import User
from users.models import Token
from users.models import Token, User
if not User.objects.filter(username='${SUPERUSER_NAME}'):
u=User.objects.create_superuser('${SUPERUSER_NAME}', '${SUPERUSER_EMAIL}', '${SUPERUSER_PASSWORD}')
u = User.objects.create_superuser('${SUPERUSER_NAME}', '${SUPERUSER_EMAIL}', '${SUPERUSER_PASSWORD}')
Token.objects.create(user=u, key='${SUPERUSER_API_TOKEN}')
END
@ -87,7 +86,7 @@ from users.models import Token
try:
old_default_token = Token.objects.get(key="0123456789abcdef0123456789abcdef01234567")
if old_default_token:
print("⚠️ Warning: You have the old default admin token in your database. This token is widely known; please remove it.")
print("⚠️ Warning: You have the old default admin API token in your database. This token is widely known; please remove it. Log in as your superuser and check API Tokens in your user menu.")
except Token.DoesNotExist:
pass
END

View File

@ -1,5 +1,5 @@
django-auth-ldap==4.5.0
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.13.2
dulwich==0.21.5
psycopg[c,pool]==3.1.10
python3-saml==1.15.0
django-auth-ldap==4.8.0
django-storages[azure,boto3,dropbox,google,libcloud,sftp]==1.14.4
dulwich==0.22.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"