Sign inSign up

readystack/netbox

By readystack

•Updated about 7 hours ago

Image
0

4.5K

readystack/netbox repository overview

⁠NetBox

Signed: cosign SBOM: SPDX attached Provenance: SLSA v1

readystack/netbox:v4.7.3-CE-ubuntu24.04-r3

A cosign-signed build of github.com/netbox-community/netbox v4.7.3 (Apache-2.0), built clean-room from official upstream source by ReadyStack⁠.

⁠What you get

Signature, user and attestations below were measured on the published digest sha256:01934a8a30352a2411d332114e45f93b71c29ff68e994b49cb4a9493ce2c54e2 on 2026-10-27.

  • Scan scores — we scan every image we publish every day (an SBOM made with syft, vulnerabilities matched with grype, scored with cerodeo-v1, the rubric ce.rodeo published until 2026-10-26) and record each scan with how its score was derived. This release's first and latest scan: https://readystack.dev/products.html#netbox⁠
  • ReadyStack release check — passed at release on 2026-10-27: no fixable critical or high vulnerability (Docker Scout and OSV), a non-root user, SBOM and provenance attached. This is ReadyStack's own test, not a Docker grade; vulnerabilities published since then are in today's result at https://readystack.dev/queue⁠.
  • Signed — cosign signature by the ReadyStack release key (fingerprint 04daa92344a52dbc) on this release's index digest sha256:01934a8a30352a2411d332114e45f93b71c29ff68e994b49cb4a9493ce2c54e2; verify with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/netbox:v4.7.3-CE-ubuntu24.04-r3.
  • Attestations — An SPDX SBOM and SLSA v1 build provenance are attached to this digest.
  • Runs as a non-root user (netbox).
  • Built from source by ReadyStack.

⁠Which tag should I pull?

This image follows the ReadyStack release-tag convention:

  • The current release is v4.7.3-CE-ubuntu24.04-r3 — the release on sale at readystack.dev. Release tags use the pattern <upstream-version>-CE-<base-os>-r<N>; the current one is signed, attested (SBOM + provenance), and is provided under the ReadyStack Agreement⁠.

  • Earlier release tags (an older version or revision in the same pattern) are superseded. They stay pullable so existing deployments can pin them, but they are no longer re-graded, and fixes appear only in newer releases: move to the current release. For a superseded release's build kit, ask support.

  • Any tag beginning with internal- is an engineering-pipeline artifact published for build observability. It is unsupported, may change or disappear without notice, and must not be used in production.

# ✓ current release
docker pull readystack/netbox:v4.7.3-CE-ubuntu24.04-r3

# ✗ unsupported (do not pull)
docker pull readystack/netbox:internal-...

This release is signed; verify it with cosign verify --key https://readystack.dev/keys/cosign.pub readystack/netbox:v4.7.3-CE-ubuntu24.04-r3 (the signature is recorded in the public Sigstore transparency log). Support: [email protected]⁠, as set out in the ReadyStack Agreement⁠.

⁠Deployment

ONE product container (supervisord runs the gunicorn web server [:8080] + an RQ worker, which also runs NetBox's scheduled system jobs such as daily housekeeping) PLUS two required datastore sidecars the customer provides: a PostgreSQL server (15 or later — NetBox 4.7 drops PostgreSQL 14 support and needs the trusted ltree extension, installed automatically on first migrate) and a Redis instance (6.0 or later; used for both the task queue and caching). NOT a single self-contained image — NetBox is multi-service.

Secrets go in env files that only you can read, not on the command line, and passwords that only set up the first start come out of them after setup. Create each file with install -m 600 /dev/null <file>, then write its lines into it with an editor, with your own values (a value typed into a shell stays in its history). Docker reads each line as written: no quotes around a value, no spaces around =.

netbox-db.env:

# First start only: the postgres image reads POSTGRES_PASSWORD only when it initialises its empty volume. You can remove this line after the first start and recreate the db container; the database keeps the password.
POSTGRES_PASSWORD=YOUR_POSTGRES_PASSWORD

netbox.env:

# The same database password as POSTGRES_PASSWORD; needed at every start.
DB_PASSWORD=YOUR_POSTGRES_PASSWORD
# Needed at every start: 50 or more characters.
SECRET_KEY=YOUR_SECRET_KEY
# First start only: the start that creates the superuser (SUPERUSER_NAME) gives it SUPERUSER_PASSWORD. Remove this line after setup and recreate the container; the superuser keeps the password.
SUPERUSER_PASSWORD=YOUR_ADMIN_PASSWORD
docker network create netbox-net
docker run -d --name db --network netbox-net -e POSTGRES_DB=netbox -e POSTGRES_USER=netbox --env-file ./netbox-db.env -v netbox-db:/var/lib/postgresql/data postgres:16
docker run -d --name redis --network netbox-net -v netbox-redis:/data redis:7-alpine
docker run -d --name netbox --network netbox-net -p 8080:8080 -e DB_HOST=db -e DB_NAME=netbox -e DB_USER=netbox -e REDIS_HOST=redis -e REDIS_CACHE_HOST=redis -e REDIS_CACHE_DATABASE=1 -e ALLOWED_HOSTS='*' -e SUPERUSER_NAME=admin --env-file ./netbox.env -v netbox-media:/opt/netbox/netbox/media -v netbox-reports:/opt/netbox/netbox/reports -v netbox-scripts:/opt/netbox/netbox/scripts readystack/netbox:v4.7.3-CE-ubuntu24.04-r3

db, redis and netbox share the netbox-net network; db/redis/netbox are this command's own container names, not defaults read from the image. Use the same value for POSTGRES_PASSWORD in netbox-db.env and DB_PASSWORD in netbox.env. SECRET_KEY must be 50+ characters — replace the placeholder with a generated value, e.g. the output of openssl rand -base64 48 | tr -d '\n'; the placeholder itself is rejected. To use the REST API, also add a line API_TOKEN_PEPPER_1=... with another 50+ character value to netbox.env and keep it: without it NetBox cannot issue v2 API tokens, and existing v2 tokens validate only with the same pepper. First start takes several minutes (5m31s measured on ReadyStack's build host; 7 to 13 minutes on a 2-CPU host) while NetBox applies its full migration set; GET /login/ answers 200 once gunicorn is listening. Sign in as SUPERUSER_NAME (default 'admin') with SUPERUSER_PASSWORD, in a browser at http://localhost:8080/⁠ (the image serves the web UI's /static/ files itself). Once that first start has created the superuser, remove the SUPERUSER_PASSWORD line from netbox.env and recreate the container on the same volumes (docker rm -f netbox, then its docker run line again): the account keeps its password, which is then no longer in the container's environment (tested). The archive ships no Compose file.

⁠The full ReadyStack Hermetic Build Kit

The complete --network=none build kit for this image — plus admin/DB/API handbooks, the build's validation records, and its build provenance records — is at readystack.dev/buy.html⁠. A clean-room rebuild from this release's archive on an egress-blocked host reproduced its linux/amd64 digest sha256:0bc952bc8426a4d8c6d78ae90724f8e1b2e7eded75d5539380e6c5a1c29ecc58 on 2026-10-27.

— ReadyStack · readystack.dev

Tag summary

Content type

Image

Digest

sha256:01934a8a3…

Size

197.6 MB

Last updated

about 7 hours ago

docker pull readystack/netbox:v4.7.3-CE-ubuntu24.04-r3