Files
homelab/netbox/README.md
T

44 lines
1.7 KiB
Markdown

# NetBox
Inventory and network documentation with a web process, worker, and Valkey.
Kubernetes uses the shared PostgreSQL service at
`postgres.database.svc.cluster.local:5432`, database and role `netbox`.
The database and application Secrets must contain the same password.
Media, reports, scripts, and Valkey have persistent storage.
Compose has its own PostgreSQL container and Valkey instances. It publishes the
web UI on `127.0.0.1:8000`; its Traefik labels can also expose it while a Docker
proxy is running. Copy `.env.example` to `.env`, replace the credentials, and run
`docker compose config --quiet` before starting it.
## First Kubernetes start
Create the namespace and application Secret. Provision the database through the
shared database initializer on a fresh instance, or create the role and database
manually on an existing instance; see [PostgreSQL](../postgres/README.md).
The database NetworkPolicy already includes `netbox`.
Apply the selected application manifests after the database is ready. Startup
runs schema migrations, so the probes allow a longer first boot. Inspect web and
worker logs before retrying a slow migration.
## Settings and backup
`configuration/configuration.py` is the Compose settings file. Its Kubernetes
copy is embedded in `k8s/settings.yaml`; keep them aligned.
Back up the database and media together. Keep `SECRET_KEY` and
`API_TOKEN_PEPPER_1`: changing them invalidates sessions or API tokens.
A container rollback cannot undo a database migration.
## Inspect
From the repository root:
```sh
kubectl get pods,svc,pvc -n netbox
kubectl get events -n netbox --sort-by=.metadata.creationTimestamp
```
See the [repository README](../README.md) for deployment selection.