mirror of
https://github.com/linuxserver/docker-netbox.git
synced 2026-01-09 07:11:42 +08:00
Compare commits
7 Commits
v4.4.10-ls
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65515cfbf2 | ||
|
|
3b6b6cd6ea | ||
|
|
524492780d | ||
|
|
91e45fa122 | ||
|
|
28e459abdc | ||
|
|
7e78e19937 | ||
|
|
9680c8d24a |
0
.editorconfig
Executable file → Normal file
0
.editorconfig
Executable file → Normal file
0
.github/CONTRIBUTING.md
vendored
Executable file → Normal file
0
.github/CONTRIBUTING.md
vendored
Executable file → Normal file
0
.github/FUNDING.yml
vendored
Executable file → Normal file
0
.github/FUNDING.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/config.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/config.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.bug.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.bug.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.feature.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.feature.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issues_cron.yml
vendored
Executable file → Normal file
0
.github/workflows/call_issues_cron.yml
vendored
Executable file → Normal file
0
.github/workflows/greetings.yml
vendored
Executable file → Normal file
0
.github/workflows/greetings.yml
vendored
Executable file → Normal file
0
.github/workflows/permissions.yml
vendored
Executable file → Normal file
0
.github/workflows/permissions.yml
vendored
Executable file → Normal file
@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.20
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.23
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -49,7 +49,7 @@ RUN \
|
||||
pip install -U --no-cache-dir \
|
||||
pip \
|
||||
wheel && \
|
||||
pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.20/ -r requirements.txt && \
|
||||
pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ -r requirements.txt && \
|
||||
pip install --no-cache-dir django-auth-ldap && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** cleanup ****" && \
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.23
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -49,7 +49,7 @@ RUN \
|
||||
pip install -U --no-cache-dir \
|
||||
pip \
|
||||
wheel && \
|
||||
pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.20/ -r requirements.txt && \
|
||||
pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ -r requirements.txt && \
|
||||
pip install --no-cache-dir django-auth-ldap && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** cleanup ****" && \
|
||||
|
||||
2
Jenkinsfile
vendored
2
Jenkinsfile
vendored
@ -31,7 +31,7 @@ pipeline {
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/netbox'
|
||||
DIST_IMAGE = 'alpine'
|
||||
MULTIARCH='true'
|
||||
CI='true'
|
||||
CI='false'
|
||||
CI_WEB='false'
|
||||
CI_PORT='8000'
|
||||
CI_SSL='false'
|
||||
|
||||
24
README.md
24
README.md
@ -35,7 +35,6 @@ Find us at:
|
||||
[](https://hub.docker.com/r/linuxserver/netbox)
|
||||
[](https://hub.docker.com/r/linuxserver/netbox)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-netbox/job/master/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/netbox/latest/index.html)
|
||||
|
||||
[Netbox](https://github.com/netbox-community/netbox) is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers. It is intended to function as a domain-specific source of truth for network operations.
|
||||
|
||||
@ -89,10 +88,12 @@ services:
|
||||
- DB_PORT=
|
||||
- REDIS_HOST=
|
||||
- REDIS_PORT=
|
||||
- REDIS_USERNAME=
|
||||
- REDIS_PASSWORD=
|
||||
- REDIS_DB_TASK=
|
||||
- REDIS_DB_CACHE=
|
||||
- BASE_PATH= #optional
|
||||
- CSRF_TRUSTED_ORIGINS= #optional
|
||||
- REMOTE_AUTH_ENABLED= #optional
|
||||
- REMOTE_AUTH_BACKEND= #optional
|
||||
- REMOTE_AUTH_HEADER= #optional
|
||||
@ -124,10 +125,12 @@ docker run -d \
|
||||
-e DB_PORT= \
|
||||
-e REDIS_HOST= \
|
||||
-e REDIS_PORT= \
|
||||
-e REDIS_USERNAME= \
|
||||
-e REDIS_PASSWORD= \
|
||||
-e REDIS_DB_TASK= \
|
||||
-e REDIS_DB_CACHE= \
|
||||
-e BASE_PATH= `#optional` \
|
||||
-e CSRF_TRUSTED_ORIGINS= `#optional` \
|
||||
-e REMOTE_AUTH_ENABLED= `#optional` \
|
||||
-e REMOTE_AUTH_BACKEND= `#optional` \
|
||||
-e REMOTE_AUTH_HEADER= `#optional` \
|
||||
@ -152,7 +155,7 @@ Containers are configured using parameters passed at runtime (such as those abov
|
||||
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
|
||||
| `-e SUPERUSER_EMAIL=` | Email address for `admin` account |
|
||||
| `-e SUPERUSER_PASSWORD=` | Password for `admin` account |
|
||||
| `-e ALLOWED_HOST=` | The hostname you will use to access the app (i.e., netbox.example.com) |
|
||||
| `-e ALLOWED_HOST=` | The hostname you will use to access the app (e.g., netbox.example.com) |
|
||||
| `-e DB_NAME=` | Database name (default: netbox) |
|
||||
| `-e DB_USER=` | Database user |
|
||||
| `-e DB_PASSWORD=` | Database password |
|
||||
@ -160,16 +163,18 @@ Containers are configured using parameters passed at runtime (such as those abov
|
||||
| `-e DB_PORT=` | Database port (default: 5432) |
|
||||
| `-e REDIS_HOST=` | Redis host (default: redis) |
|
||||
| `-e REDIS_PORT=` | Redis port number (default: 6379) |
|
||||
| `-e REDIS_USERNAME=` | Redis username (default: none) |
|
||||
| `-e REDIS_PASSWORD=` | Redis password (default: none) |
|
||||
| `-e REDIS_DB_TASK=` | Redis database ID for tasks (default: 0) |
|
||||
| `-e REDIS_DB_CACHE=` | Redis database ID for caching (default: 1) |
|
||||
| `-e BASE_PATH=` | The path you will use to access the app (i.e., /netbox, optional, default: none) |
|
||||
| `-e REMOTE_AUTH_ENABLED=` | Enable remote authentication (optional, default: False) |
|
||||
| `-e REMOTE_AUTH_BACKEND=` | Python path to the custom Django authentication backend to use for external user authentication (optional, default: netbox.authentication.RemoteUserBackend) |
|
||||
| `-e REMOTE_AUTH_HEADER=` | Name of the HTTP header which informs NetBox of the currently authenticated user. (optional, default: HTTP_REMOTE_USER) |
|
||||
| `-e REMOTE_AUTH_AUTO_CREATE_USER=` | If true, NetBox will automatically create local accounts for users authenticated via a remote service (optional, default: False) |
|
||||
| `-e REMOTE_AUTH_DEFAULT_GROUPS=` | The list of groups to assign a new user account when created using remote authentication (optional, default: []) |
|
||||
| `-e REMOTE_AUTH_DEFAULT_PERMISSIONS=` | A mapping of permissions to assign a new user account when created using remote authentication (optional, default: {}) |
|
||||
| `-e BASE_PATH=` | The path you will use to access the app (i.e., /netbox, default: none) |
|
||||
| `-e CSRF_TRUSTED_ORIGINS=` | List of comma-separated, single quoted, trusted origins. Must include protocol, and port if applicable (default: []) |
|
||||
| `-e REMOTE_AUTH_ENABLED=` | Enable remote authentication (default: False) |
|
||||
| `-e REMOTE_AUTH_BACKEND=` | Python path to the custom Django authentication backend to use for external user authentication (default: netbox.authentication.RemoteUserBackend) |
|
||||
| `-e REMOTE_AUTH_HEADER=` | Name of the HTTP header which informs NetBox of the currently authenticated user. (default: HTTP_REMOTE_USER) |
|
||||
| `-e REMOTE_AUTH_AUTO_CREATE_USER=` | If true, NetBox will automatically create local accounts for users authenticated via a remote service (default: False) |
|
||||
| `-e REMOTE_AUTH_DEFAULT_GROUPS=` | The list of groups to assign a new user account when created using remote authentication (default: []) |
|
||||
| `-e REMOTE_AUTH_DEFAULT_PERMISSIONS=` | A mapping of permissions to assign a new user account when created using remote authentication (default: {}) |
|
||||
| `-v /config` | Persistent config files |
|
||||
|
||||
## Environment variables from files (Docker secrets)
|
||||
@ -334,6 +339,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **05.01.26:** - Rebase to Alpine 3.23. Add CSRF_TRUSTED_ORIGINS env settings. Drop support for environments with explicitly disabled IPv6.
|
||||
* **26.08.24:** - Restructure init to allow for plugins as mods.
|
||||
* **16.07.24:** - Add required packages for LDAP support.
|
||||
* **01.06.24:** - Rebase to Alpine 3.20.
|
||||
|
||||
@ -19,7 +19,7 @@ repo_vars:
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/netbox'
|
||||
- DIST_IMAGE = 'alpine'
|
||||
- MULTIARCH='true'
|
||||
- CI='true'
|
||||
- CI='false'
|
||||
- CI_WEB='false'
|
||||
- CI_PORT='8000'
|
||||
- CI_SSL='false'
|
||||
|
||||
@ -1,195 +1,196 @@
|
||||
NAME VERSION TYPE
|
||||
Simple Launcher 1.1.0.14 binary (+5 duplicates)
|
||||
alpine-baselayout 3.6.5-r0 apk
|
||||
alpine-baselayout-data 3.6.5-r0 apk
|
||||
alpine-keys 2.4-r1 apk
|
||||
alpine-release 3.20.8-r0 apk
|
||||
apk-tools 2.14.4-r1 apk
|
||||
asgiref 3.11.0 python
|
||||
attrs 25.4.0 python
|
||||
babel 2.17.0 python
|
||||
backrefs 6.1 python
|
||||
bash 5.2.26-r0 apk
|
||||
brotli-libs 1.1.0-r2 apk
|
||||
busybox 1.36.1-r31 apk
|
||||
busybox-binsh 1.36.1-r31 apk
|
||||
c-ares 1.33.1-r0 apk
|
||||
ca-certificates 20250911-r0 apk
|
||||
ca-certificates-bundle 20250911-r0 apk
|
||||
catatonit 0.2.0-r0 apk
|
||||
certifi 2026.1.4 python
|
||||
cffi 2.0.0 python
|
||||
charset-normalizer 3.4.4 python
|
||||
click 8.3.1 python
|
||||
colorama 0.4.6 python
|
||||
coreutils 9.5-r2 apk
|
||||
coreutils-env 9.5-r2 apk
|
||||
coreutils-fmt 9.5-r2 apk
|
||||
coreutils-sha512sum 9.5-r2 apk
|
||||
croniter 6.0.0 python
|
||||
cross-web 0.4.0 python
|
||||
cryptography 46.0.3 python
|
||||
curl 8.14.1-r2 apk
|
||||
defusedxml 0.7.1 python
|
||||
django 5.2.9 python
|
||||
django-auth-ldap 5.3.0 python
|
||||
django-cors-headers 4.9.0 python
|
||||
django-debug-toolbar 6.1.0 python
|
||||
django-filter 25.2 python
|
||||
django-graphiql-debug-toolbar 0.2.0 python
|
||||
django-htmx 1.27.0 python
|
||||
django-js-asset 3.1.2 python
|
||||
django-mptt 0.17.0 python
|
||||
django-pglocks 1.0.4 python
|
||||
django-prometheus 2.4.1 python
|
||||
django-redis 6.0.0 python
|
||||
django-rich 2.2.0 python
|
||||
django-rq 3.2.2 python
|
||||
django-storages 1.14.6 python
|
||||
django-tables2 2.8.0 python
|
||||
django-taggit 6.1.0 python
|
||||
django-timezone-field 7.2.1 python
|
||||
djangorestframework 3.16.1 python
|
||||
drf-spectacular 0.29.0 python
|
||||
drf-spectacular-sidecar 2026.1.1 python
|
||||
feedparser 6.0.12 python
|
||||
findutils 4.9.0-r5 apk
|
||||
gdbm 1.23-r1 apk
|
||||
ghp-import 2.1.0 python
|
||||
gmp 6.3.0-r1 apk
|
||||
graphene 3.4.3 python
|
||||
graphene-django 3.2.3 python
|
||||
graphql-core 3.2.7 python
|
||||
graphql-relay 3.2.0 python
|
||||
griffe 1.15.0 python
|
||||
gunicorn 23.0.0 python
|
||||
idna 3.11 python
|
||||
inflection 0.5.1 python
|
||||
jansson 2.14-r4 apk
|
||||
jinja2 3.1.6 python
|
||||
jq 1.7.1-r0 apk
|
||||
jsonschema 4.25.1 python
|
||||
jsonschema-specifications 2025.9.1 python
|
||||
libacl 2.3.2-r0 apk
|
||||
libattr 2.5.2-r0 apk
|
||||
libbsd 0.12.2-r0 apk
|
||||
libbz2 1.0.8-r6 apk
|
||||
libcap2 2.70-r0 apk
|
||||
libcrypto3 3.3.5-r0 apk
|
||||
libcurl 8.14.1-r2 apk
|
||||
libexpat 2.7.3-r0 apk
|
||||
libffi 3.4.6-r0 apk
|
||||
libgcc 13.2.1_git20240309-r1 apk
|
||||
libidn2 2.3.7-r0 apk
|
||||
libintl 0.22.5-r0 apk
|
||||
libjpeg-turbo 3.0.3-r0 apk
|
||||
libldap 2.6.8-r0 apk
|
||||
libmd 1.1.0-r0 apk
|
||||
libncursesw 6.4_p20240420-r2 apk
|
||||
libpanelw 6.4_p20240420-r2 apk
|
||||
libpq 16.11-r0 apk
|
||||
libproc2 4.0.4-r0 apk
|
||||
libpsl 0.21.5-r1 apk
|
||||
libsasl 2.1.28-r6 apk
|
||||
libsharpyuv 1.3.2-r0 apk
|
||||
libssl3 3.3.5-r0 apk
|
||||
libstdc++ 13.2.1_git20240309-r1 apk
|
||||
libunistring 1.2-r0 apk
|
||||
libwebp 1.3.2-r0 apk
|
||||
libxml2 2.12.10-r0 apk
|
||||
linux-pam 1.6.0-r0 apk
|
||||
lz4-libs 1.9.4-r5 apk
|
||||
mailcap 2.1.54-r0 apk
|
||||
markdown 3.10 python
|
||||
markdown-it-py 4.0.0 python
|
||||
markupsafe 3.0.3 python
|
||||
mdurl 0.1.2 python
|
||||
mergedeep 1.3.4 python
|
||||
mkdocs 1.6.1 python
|
||||
mkdocs-autorefs 1.4.3 python
|
||||
mkdocs-get-deps 0.2.0 python
|
||||
mkdocs-material 9.7.1 python
|
||||
mkdocs-material-extensions 1.3.1 python
|
||||
mkdocstrings 1.0.0 python
|
||||
mkdocstrings-python 2.0.1 python
|
||||
mpdecimal 4.0.0-r0 apk
|
||||
musl 1.2.5-r1 apk
|
||||
musl-utils 1.2.5-r1 apk
|
||||
ncurses-terminfo-base 6.4_p20240420-r2 apk
|
||||
netaddr 1.3.0 python
|
||||
netbox 4.4.0 npm
|
||||
netbox-graphiql 4.3.0 npm
|
||||
netcat-openbsd 1.226-r0 apk
|
||||
nghttp2-libs 1.62.1-r0 apk
|
||||
nh3 0.3.2 python
|
||||
oauthlib 3.3.1 python
|
||||
oniguruma 6.9.9-r0 apk
|
||||
packaging 25.0 python
|
||||
paginate 0.5.7 python
|
||||
pathspec 1.0.1 python
|
||||
pcre2 10.43-r0 apk
|
||||
pillow 12.1.0 python
|
||||
pip 25.3 python
|
||||
platformdirs 4.5.1 python
|
||||
postgresql-common 1.2-r1 apk
|
||||
postgresql16-client 16.11-r0 apk
|
||||
procps-ng 4.0.4-r0 apk
|
||||
prometheus-client 0.23.1 python
|
||||
promise 2.3 python
|
||||
psycopg 3.3.2 python
|
||||
psycopg-c 3.3.2 python
|
||||
psycopg-pool 3.3.0 python
|
||||
pyasn1 0.6.1 python
|
||||
pyasn1-modules 0.4.2 python
|
||||
pyc 3.12.12-r0 apk
|
||||
pycparser 2.23 python
|
||||
pygments 2.19.2 python
|
||||
pyjwt 2.10.1 python
|
||||
pymdown-extensions 10.20 python
|
||||
python-dateutil 2.9.0.post0 python
|
||||
python-ldap 3.4.5 python
|
||||
python3 3.12.12-r0 apk
|
||||
python3-openid 3.2.0 python
|
||||
python3-pyc 3.12.12-r0 apk
|
||||
python3-pycache-pyc0 3.12.12-r0 apk
|
||||
pytz 2025.2 python
|
||||
pyyaml 6.0.3 python
|
||||
pyyaml-env-tag 1.1 python
|
||||
readline 8.2.10-r0 apk
|
||||
redis 7.1.0 python
|
||||
referencing 0.37.0 python
|
||||
requests 2.32.5 python
|
||||
requests-oauthlib 2.0.0 python
|
||||
rich 14.2.0 python
|
||||
rpds-py 0.30.0 python
|
||||
rq 2.6.1 python
|
||||
scanelf 1.3.7-r2 apk
|
||||
sgmllib3k 1.0.0 python
|
||||
shadow 4.15.1-r0 apk
|
||||
six 1.17.0 python
|
||||
skalibs 2.14.1.1-r0 apk
|
||||
social-auth-app-django 5.7.0 python
|
||||
social-auth-core 4.8.3 python
|
||||
sorl-thumbnail 12.11.0 python
|
||||
sqlite-libs 3.45.3-r2 apk
|
||||
sqlparse 0.5.5 python
|
||||
ssl_client 1.36.1-r31 apk
|
||||
strawberry-graphql 0.288.2 python
|
||||
strawberry-graphql-django 0.73.0 python
|
||||
svgwrite 1.4.3 python
|
||||
tablib 3.9.0 python
|
||||
text-unidecode 1.3 python
|
||||
tiff 4.6.0t-r0 apk
|
||||
typing-extensions 4.15.0 python
|
||||
tzdata 2025.3 python
|
||||
tzdata 2025c-r0 apk
|
||||
uritemplate 4.2.0 python
|
||||
urllib3 2.6.2 python
|
||||
utmps-libs 0.1.2.2-r1 apk
|
||||
uwsgi 2.0.25.1-r1 apk
|
||||
uwsgi-python3 2.0.25.1-r1 apk
|
||||
watchdog 6.0.0 python
|
||||
wheel 0.45.1 python
|
||||
xz-libs 5.6.2-r1 apk
|
||||
zlib 1.3.1-r1 apk
|
||||
zstd-libs 1.5.6-r0 apk
|
||||
NAME VERSION TYPE
|
||||
Simple Launcher 1.1.0.14 binary (+5 duplicates)
|
||||
acl-libs 2.3.2-r1 apk
|
||||
alpine-baselayout 3.7.1-r8 apk
|
||||
alpine-baselayout-data 3.7.1-r8 apk
|
||||
alpine-keys 2.6-r0 apk
|
||||
alpine-release 3.23.2-r0 apk
|
||||
apk-tools 3.0.3-r1 apk
|
||||
asgiref 3.11.0 python
|
||||
attrs 25.4.0 python
|
||||
babel 2.17.0 python
|
||||
backrefs 6.1 python
|
||||
bash 5.3.3-r1 apk
|
||||
brotli-libs 1.2.0-r0 apk
|
||||
busybox 1.37.0-r30 apk
|
||||
busybox-binsh 1.37.0-r30 apk
|
||||
c-ares 1.34.6-r0 apk
|
||||
ca-certificates 20251003-r0 apk
|
||||
ca-certificates-bundle 20251003-r0 apk
|
||||
catatonit 0.2.1-r0 apk
|
||||
certifi 2026.1.4 python
|
||||
cffi 2.0.0 python
|
||||
charset-normalizer 3.4.4 python
|
||||
click 8.3.1 python
|
||||
colorama 0.4.6 python
|
||||
coreutils 9.8-r1 apk
|
||||
coreutils-env 9.8-r1 apk
|
||||
coreutils-fmt 9.8-r1 apk
|
||||
coreutils-sha512sum 9.8-r1 apk
|
||||
croniter 6.0.0 python
|
||||
cross-web 0.4.0 python
|
||||
cryptography 46.0.3 python
|
||||
curl 8.17.0-r1 apk
|
||||
defusedxml 0.7.1 python
|
||||
django 5.2.9 python
|
||||
django-auth-ldap 5.3.0 python
|
||||
django-cors-headers 4.9.0 python
|
||||
django-debug-toolbar 6.1.0 python
|
||||
django-filter 25.2 python
|
||||
django-graphiql-debug-toolbar 0.2.0 python
|
||||
django-htmx 1.27.0 python
|
||||
django-js-asset 3.1.2 python
|
||||
django-mptt 0.17.0 python
|
||||
django-pglocks 1.0.4 python
|
||||
django-prometheus 2.4.1 python
|
||||
django-redis 6.0.0 python
|
||||
django-rich 2.2.0 python
|
||||
django-rq 3.2.2 python
|
||||
django-storages 1.14.6 python
|
||||
django-tables2 2.8.0 python
|
||||
django-taggit 6.1.0 python
|
||||
django-timezone-field 7.2.1 python
|
||||
djangorestframework 3.16.1 python
|
||||
drf-spectacular 0.29.0 python
|
||||
drf-spectacular-sidecar 2026.1.1 python
|
||||
feedparser 6.0.12 python
|
||||
findutils 4.10.0-r0 apk
|
||||
gdbm 1.26-r0 apk
|
||||
ghp-import 2.1.0 python
|
||||
graphene 3.4.3 python
|
||||
graphene-django 3.2.3 python
|
||||
graphql-core 3.2.7 python
|
||||
graphql-relay 3.2.0 python
|
||||
griffe 1.15.0 python
|
||||
gunicorn 23.0.0 python
|
||||
idna 3.11 python
|
||||
inflection 0.5.1 python
|
||||
jansson 2.14.1-r0 apk
|
||||
jinja2 3.1.6 python
|
||||
jq 1.8.1-r0 apk
|
||||
jsonschema 4.25.1 python
|
||||
jsonschema-specifications 2025.9.1 python
|
||||
libapk 3.0.3-r1 apk
|
||||
libattr 2.5.2-r2 apk
|
||||
libbsd 0.12.2-r0 apk
|
||||
libbz2 1.0.8-r6 apk
|
||||
libcap2 2.77-r0 apk
|
||||
libcrypto3 3.5.4-r0 apk
|
||||
libcurl 8.17.0-r1 apk
|
||||
libexpat 2.7.3-r0 apk
|
||||
libffi 3.5.2-r0 apk
|
||||
libgcc 15.2.0-r2 apk
|
||||
libidn2 2.3.8-r0 apk
|
||||
libintl 0.24.1-r1 apk
|
||||
libjpeg-turbo 3.1.2-r0 apk
|
||||
libldap 2.6.10-r0 apk
|
||||
libmd 1.1.0-r0 apk
|
||||
libncursesw 6.5_p20251123-r0 apk
|
||||
libpanelw 6.5_p20251123-r0 apk
|
||||
libpq 18.1-r0 apk
|
||||
libproc2 4.0.5-r0 apk
|
||||
libpsl 0.21.5-r3 apk
|
||||
libsasl 2.1.28-r9 apk
|
||||
libsharpyuv 1.6.0-r0 apk
|
||||
libssl3 3.5.4-r0 apk
|
||||
libstdc++ 15.2.0-r2 apk
|
||||
libunistring 1.4.1-r0 apk
|
||||
libwebp 1.6.0-r0 apk
|
||||
libxml2 2.13.9-r0 apk
|
||||
linux-pam 1.7.1-r2 apk
|
||||
lz4-libs 1.10.0-r0 apk
|
||||
mailcap 2.1.54-r0 apk
|
||||
markdown 3.10 python
|
||||
markdown-it-py 4.0.0 python
|
||||
markupsafe 3.0.3 python
|
||||
mdurl 0.1.2 python
|
||||
mergedeep 1.3.4 python
|
||||
mkdocs 1.6.1 python
|
||||
mkdocs-autorefs 1.4.3 python
|
||||
mkdocs-get-deps 0.2.0 python
|
||||
mkdocs-material 9.7.1 python
|
||||
mkdocs-material-extensions 1.3.1 python
|
||||
mkdocstrings 1.0.0 python
|
||||
mkdocstrings-python 2.0.1 python
|
||||
mpdecimal 4.0.1-r0 apk
|
||||
musl 1.2.5-r21 apk
|
||||
musl-utils 1.2.5-r21 apk
|
||||
ncurses-terminfo-base 6.5_p20251123-r0 apk
|
||||
netaddr 1.3.0 python
|
||||
netbox 4.5.0 npm
|
||||
netbox-graphiql 4.5.0 npm
|
||||
netcat-openbsd 1.234.1-r0 apk
|
||||
nghttp2-libs 1.68.0-r0 apk
|
||||
nghttp3 1.13.1-r0 apk
|
||||
nh3 0.3.2 python
|
||||
oauthlib 3.3.1 python
|
||||
oniguruma 6.9.10-r0 apk
|
||||
packaging 25.0 python
|
||||
paginate 0.5.7 python
|
||||
pathspec 1.0.2 python
|
||||
pcre2 10.47-r0 apk
|
||||
pillow 12.1.0 python
|
||||
pip 25.3 python
|
||||
platformdirs 4.5.1 python
|
||||
postgresql-common 1.2-r2 apk
|
||||
postgresql18-client 18.1-r0 apk
|
||||
procps-ng 4.0.5-r0 apk
|
||||
prometheus-client 0.23.1 python
|
||||
promise 2.3 python
|
||||
psycopg 3.3.2 python
|
||||
psycopg-c 3.3.2 python
|
||||
psycopg-pool 3.3.0 python
|
||||
pyasn1 0.6.1 python
|
||||
pyasn1-modules 0.4.2 python
|
||||
pyc 3.12.12-r0 apk
|
||||
pycparser 2.23 python
|
||||
pygments 2.19.2 python
|
||||
pyjwt 2.10.1 python
|
||||
pymdown-extensions 10.20 python
|
||||
python-dateutil 2.9.0.post0 python
|
||||
python-ldap 3.4.5 python
|
||||
python3 3.12.12-r0 apk
|
||||
python3-openid 3.2.0 python
|
||||
python3-pyc 3.12.12-r0 apk
|
||||
python3-pycache-pyc0 3.12.12-r0 apk
|
||||
pytz 2025.2 python
|
||||
pyyaml 6.0.3 python
|
||||
pyyaml-env-tag 1.1 python
|
||||
readline 8.3.1-r0 apk
|
||||
redis 7.1.0 python
|
||||
referencing 0.37.0 python
|
||||
requests 2.32.5 python
|
||||
requests-oauthlib 2.0.0 python
|
||||
rich 14.2.0 python
|
||||
rpds-py 0.30.0 python
|
||||
rq 2.6.1 python
|
||||
scanelf 1.3.8-r2 apk
|
||||
sgmllib3k 1.0.0 python
|
||||
shadow 4.18.0-r0 apk
|
||||
six 1.17.0 python
|
||||
skalibs-libs 2.14.4.0-r0 apk
|
||||
social-auth-app-django 5.7.0 python
|
||||
social-auth-core 4.8.3 python
|
||||
sorl-thumbnail 12.11.0 python
|
||||
sqlite-libs 3.51.1-r0 apk
|
||||
sqlparse 0.5.5 python
|
||||
ssl_client 1.37.0-r30 apk
|
||||
strawberry-graphql 0.288.2 python
|
||||
strawberry-graphql-django 0.73.0 python
|
||||
svgwrite 1.4.3 python
|
||||
tablib 3.9.0 python
|
||||
text-unidecode 1.3 python
|
||||
tiff 4.7.1-r0 apk
|
||||
typing-extensions 4.15.0 python
|
||||
tzdata 2025.3 python
|
||||
tzdata 2025c-r0 apk
|
||||
uritemplate 4.2.0 python
|
||||
urllib3 2.6.3 python
|
||||
utmps-libs 0.1.3.1-r0 apk
|
||||
uwsgi 2.0.31-r0 apk
|
||||
uwsgi-python3 2.0.31-r0 apk
|
||||
watchdog 6.0.0 python
|
||||
wheel 0.45.1 python
|
||||
xz-libs 5.8.1-r0 apk
|
||||
zlib 1.3.1-r2 apk
|
||||
zstd-libs 1.5.7-r2 apk
|
||||
|
||||
@ -21,7 +21,7 @@ param_usage_include_env: true
|
||||
param_env_vars:
|
||||
- {env_var: "SUPERUSER_EMAIL", env_value: "", desc: "Email address for `admin` account"}
|
||||
- {env_var: "SUPERUSER_PASSWORD", env_value: "", desc: "Password for `admin` account"}
|
||||
- {env_var: "ALLOWED_HOST", env_value: "", desc: "The hostname you will use to access the app (i.e., netbox.example.com)"}
|
||||
- {env_var: "ALLOWED_HOST", env_value: "", desc: "The hostname you will use to access the app (e.g., netbox.example.com)"}
|
||||
- {env_var: "DB_NAME", env_value: "", desc: "Database name (default: netbox)"}
|
||||
- {env_var: "DB_USER", env_value: "", desc: "Database user"}
|
||||
- {env_var: "DB_PASSWORD", env_value: "", desc: "Database password"}
|
||||
@ -29,18 +29,20 @@ param_env_vars:
|
||||
- {env_var: "DB_PORT", env_value: "", desc: "Database port (default: 5432)"}
|
||||
- {env_var: "REDIS_HOST", env_value: "", desc: "Redis host (default: redis)"}
|
||||
- {env_var: "REDIS_PORT", env_value: "", desc: "Redis port number (default: 6379)"}
|
||||
- {env_var: "REDIS_USERNAME", env_value: "", desc: "Redis username (default: none)"}
|
||||
- {env_var: "REDIS_PASSWORD", env_value: "", desc: "Redis password (default: none)"}
|
||||
- {env_var: "REDIS_DB_TASK", env_value: "", desc: "Redis database ID for tasks (default: 0)"}
|
||||
- {env_var: "REDIS_DB_CACHE", env_value: "", desc: "Redis database ID for caching (default: 1)"}
|
||||
opt_param_usage_include_env: true
|
||||
opt_param_env_vars:
|
||||
- {env_var: "BASE_PATH", env_value: "", desc: "The path you will use to access the app (i.e., /netbox, optional, default: none)"}
|
||||
- {env_var: "REMOTE_AUTH_ENABLED", env_value: "", desc: "Enable remote authentication (optional, default: False)"}
|
||||
- {env_var: "REMOTE_AUTH_BACKEND", env_value: "", desc: "Python path to the custom Django authentication backend to use for external user authentication (optional, default: netbox.authentication.RemoteUserBackend)"}
|
||||
- {env_var: "REMOTE_AUTH_HEADER", env_value: "", desc: "Name of the HTTP header which informs NetBox of the currently authenticated user. (optional, default: HTTP_REMOTE_USER)"}
|
||||
- {env_var: "REMOTE_AUTH_AUTO_CREATE_USER", env_value: "", desc: "If true, NetBox will automatically create local accounts for users authenticated via a remote service (optional, default: False)"}
|
||||
- {env_var: "REMOTE_AUTH_DEFAULT_GROUPS", env_value: "", desc: "The list of groups to assign a new user account when created using remote authentication (optional, default: [])"}
|
||||
- {env_var: "REMOTE_AUTH_DEFAULT_PERMISSIONS", env_value: "", desc: "A mapping of permissions to assign a new user account when created using remote authentication (optional, default: {})"}
|
||||
- {env_var: "BASE_PATH", env_value: "", desc: "The path you will use to access the app (i.e., /netbox, default: none)"}
|
||||
- {env_var: "CSRF_TRUSTED_ORIGINS", env_value: "", desc: "List of comma-separated, single quoted, trusted origins. Must include protocol, and port if applicable (default: [])"}
|
||||
- {env_var: "REMOTE_AUTH_ENABLED", env_value: "", desc: "Enable remote authentication (default: False)"}
|
||||
- {env_var: "REMOTE_AUTH_BACKEND", env_value: "", desc: "Python path to the custom Django authentication backend to use for external user authentication (default: netbox.authentication.RemoteUserBackend)"}
|
||||
- {env_var: "REMOTE_AUTH_HEADER", env_value: "", desc: "Name of the HTTP header which informs NetBox of the currently authenticated user. (default: HTTP_REMOTE_USER)"}
|
||||
- {env_var: "REMOTE_AUTH_AUTO_CREATE_USER", env_value: "", desc: "If true, NetBox will automatically create local accounts for users authenticated via a remote service (default: False)"}
|
||||
- {env_var: "REMOTE_AUTH_DEFAULT_GROUPS", env_value: "", desc: "The list of groups to assign a new user account when created using remote authentication (default: [])"}
|
||||
- {env_var: "REMOTE_AUTH_DEFAULT_PERMISSIONS", env_value: "", desc: "A mapping of permissions to assign a new user account when created using remote authentication (default: {})"}
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
- {external_port: "8000", internal_port: "8000", port_desc: "will map the container's port 8000 to port 8000 on the host"}
|
||||
@ -67,38 +69,34 @@ init_diagram: |
|
||||
init-migrations -> init-adduser
|
||||
init-os-end -> init-config
|
||||
init-config -> init-config-end
|
||||
init-crontab-config -> init-config-end
|
||||
init-netbox-config -> init-config-end
|
||||
init-os-end -> init-crontab-config
|
||||
init-config -> init-crontab-config
|
||||
init-mods-end -> init-custom-files
|
||||
init-adduser -> init-device-perms
|
||||
base -> init-envfile
|
||||
base -> init-migrations
|
||||
base -> init-mods
|
||||
init-config-end -> init-mods
|
||||
init-mods -> init-mods-end
|
||||
init-mods-package-install -> init-mods-end
|
||||
init-mods -> init-mods-package-install
|
||||
init-config -> init-netbox-config
|
||||
base -> init-os-end
|
||||
init-mods-end -> init-netbox-prepare
|
||||
init-adduser -> init-os-end
|
||||
init-device-perms -> init-os-end
|
||||
init-envfile -> init-os-end
|
||||
init-migrations -> init-os-end
|
||||
init-custom-files -> init-services
|
||||
init-mods-end -> init-services
|
||||
init-services -> svc-cron
|
||||
svc-cron -> legacy-services
|
||||
svc-netbox-prepare -> svc-netbox
|
||||
init-netbox-prepare -> svc-netbox
|
||||
svc-netbox -> legacy-services
|
||||
init-services -> svc-netbox-prepare
|
||||
svc-netbox-prepare -> legacy-services
|
||||
}
|
||||
Base Images: {
|
||||
"baseimage-alpine:3.20"
|
||||
"baseimage-alpine:3.23"
|
||||
}
|
||||
"netbox:latest" <- Base Images
|
||||
# changelog
|
||||
changelogs:
|
||||
- {date: "05.01.26:", desc: "Rebase to Alpine 3.23. Add CSRF_TRUSTED_ORIGINS env settings. Drop support for environments with explicitly disabled IPv6."}
|
||||
- {date: "26.08.24:", desc: "Restructure init to allow for plugins as mods."}
|
||||
- {date: "16.07.24:", desc: "Add required packages for LDAP support."}
|
||||
- {date: "01.06.24:", desc: "Rebase to Alpine 3.20."}
|
||||
|
||||
@ -12,13 +12,15 @@ ALLOWED_HOSTS = ['{{ALLOWED_HOST}}']
|
||||
|
||||
# PostgreSQL database configuration. See the Django documentation for a complete list of available parameters:
|
||||
# https://docs.djangoproject.com/en/stable/ref/settings/#databases
|
||||
DATABASE = {
|
||||
'NAME': '{{DB_NAME}}', # Database name
|
||||
'USER': '{{DB_USER}}', # PostgreSQL username
|
||||
'PASSWORD': '{{DB_PASSWORD}}', # PostgreSQL password
|
||||
'HOST': '{{DB_HOST}}', # Database server
|
||||
'PORT': '{{DB_PORT}}', # Database port (leave blank for default)
|
||||
'CONN_MAX_AGE': 300, # Max database connection age
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'NAME': '{{DB_NAME}}', # Database name
|
||||
'USER': '{{DB_USER}}', # PostgreSQL username
|
||||
'PASSWORD': '{{DB_PASSWORD}}', # PostgreSQL password
|
||||
'HOST': '{{DB_HOST}}', # Database server
|
||||
'PORT': '{{DB_PORT}}', # Database port (leave blank for default)
|
||||
'CONN_MAX_AGE': 300, # Max database connection age
|
||||
},
|
||||
}
|
||||
|
||||
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
|
||||
@ -31,6 +33,7 @@ REDIS = {
|
||||
# Comment out `HOST` and `PORT` lines and uncomment the following if using Redis Sentinel
|
||||
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
|
||||
# 'SENTINEL_SERVICE': 'netbox',
|
||||
'USERNAME': '{{REDIS_USERNAME}}',
|
||||
'PASSWORD': '{{REDIS_PASSWORD}}',
|
||||
'DATABASE': {{REDIS_DB_TASK}},
|
||||
'SSL': False,
|
||||
@ -44,6 +47,7 @@ REDIS = {
|
||||
# Comment out `HOST` and `PORT` lines and uncomment the following if using Redis Sentinel
|
||||
# 'SENTINELS': [('mysentinel.redis.example.com', 6379)],
|
||||
# 'SENTINEL_SERVICE': 'netbox',
|
||||
'USERNAME': '{{REDIS_USERNAME}}',
|
||||
'PASSWORD': '{{REDIS_PASSWORD}}',
|
||||
'DATABASE': {{REDIS_DB_CACHE}},
|
||||
'SSL': False,
|
||||
@ -103,6 +107,10 @@ CORS_ORIGIN_REGEX_WHITELIST = [
|
||||
# r'^(https?://)?(\w+\.)?example\.com$',
|
||||
]
|
||||
|
||||
CSRF_TRUSTED_ORIGINS = [
|
||||
{{CSRF_TRUSTED_ORIGINS}}
|
||||
]
|
||||
|
||||
# Specify any custom validators here, as a mapping of model to a list of validators classes. Validators should be
|
||||
# instances of or inherit from CustomValidator.
|
||||
# from extras.validators import CustomValidator
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
[uwsgi]
|
||||
http-socket = :8000
|
||||
http-socket = [::]:8000
|
||||
buffer-size = 32768
|
||||
enable-threads
|
||||
plugin = python3
|
||||
|
||||
@ -8,6 +8,7 @@ mkdir -p \
|
||||
declare -A NETBOX_CONF
|
||||
NETBOX_CONF[ALLOWED_HOST]=${ALLOWED_HOST:-netbox.example.com}
|
||||
NETBOX_CONF[BASE_PATH]=${BASE_PATH:-}
|
||||
NETBOX_CONF[CSRF_TRUSTED_ORIGINS]=${CSRF_TRUSTED_ORIGINS:-}
|
||||
NETBOX_CONF[DB_NAME]=${DB_NAME:-netbox}
|
||||
NETBOX_CONF[DB_USER]=${DB_USER:-root}
|
||||
NETBOX_CONF[DB_PASSWORD]=${DB_PASSWORD:-}
|
||||
@ -15,6 +16,7 @@ NETBOX_CONF[DB_HOST]=${DB_HOST:-postgres}
|
||||
NETBOX_CONF[DB_PORT]=${DB_PORT:-}
|
||||
NETBOX_CONF[REDIS_HOST]=${REDIS_HOST:-redis}
|
||||
NETBOX_CONF[REDIS_PORT]=${REDIS_PORT:-6379}
|
||||
NETBOX_CONF[REDIS_USERNAME]=${REDIS_USERNAME:-}
|
||||
NETBOX_CONF[REDIS_PASSWORD]=${REDIS_PASSWORD:-}
|
||||
NETBOX_CONF[REDIS_DB_TASK]=${REDIS_DB_TASK:-0}
|
||||
NETBOX_CONF[REDIS_DB_CACHE]=${REDIS_DB_CACHE:-1}
|
||||
@ -38,7 +40,7 @@ if [[ ! -f "/config/configuration.py" ]]; then
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ ! -e "/config/media" ]]; then
|
||||
if [[ ! -e "/config/media" ]] && [[ -e "/app/netbox/netbox/media" ]]; then
|
||||
mv /app/netbox/netbox/media /config/media
|
||||
fi
|
||||
|
||||
|
||||
1
root/etc/s6-overlay/s6-rc.d/init-netbox-prepare/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-netbox-prepare/up
Normal file
@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-netbox-prepare/run
|
||||
@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/svc-netbox-prepare/run
|
||||
8
root/etc/s6-overlay/s6-rc.d/svc-netbox/data/check
Executable file
8
root/etc/s6-overlay/s6-rc.d/svc-netbox/data/check
Executable file
@ -0,0 +1,8 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
if [[ $(curl -Lo /dev/null -H "Host: ${ALLOWED_HOST}" -s -w "%{http_code}\n" http://localhost:8000) = "200" ]]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
@ -2,5 +2,5 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
exec \
|
||||
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8000" \
|
||||
s6-notifyoncheck -d -n 30 -w 5000 \
|
||||
cd /app/netbox/netbox s6-setuidgid abc /usr/sbin/uwsgi uwsgi.ini
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user