- Shell 69.2%
- Python 30.8%
| .forgejo/workflows | ||
| image | ||
| rootfs/etc | ||
| tests | ||
| app.func | ||
| CHANGELOG.md | ||
| ct.sh | ||
| iac.json | ||
| packages.list | ||
| README.md | ||
| rootfs.perms | ||
| vm.sh | ||
iac-netbox
IP Address Management (IPAM) and Data Center Infrastructure Management (DCIM) with NetBox as an LXC container or VM on Proxmox VE. Part of iac.
Features
- Repeatable Deployment: Powered by
iac-corewith automated setup of Python venv, PostgreSQL client libraries, Redis, and Gunicorn. - Clean Release Management: Versions are isolated in
/opt/netbox-x.y.z/and swapped atomically via/opt/netboxsymlink. - Persistent Storage: Uploads (
media), custom scripts (scripts), and reports (reports) reside safely outside the app directory in/var/lib/netbox/. - Automated Firewalling: Port
8000(Web UI) is managed directly viaiac.json.
Installation (on the Proxmox Node)
bash -c "$(curl -fsSL [https://iac.heyer.systems/netbox/ct.sh](https://iac.heyer.systems/netbox/ct.sh))" # LXC
bash -c "$(curl -fsSL [https://iac.heyer.systems/netbox/vm.sh](https://iac.heyer.systems/netbox/vm.sh))" # VM
For non-interactive automation, supply IAC_NONINTERACTIVE=1 along with var_* environment variables. The easiest way to generate these is through the web form at:
https://iac.heyer.systems/apps/netbox/
Custom Configuration
The primary configuration is managed by iac. Place your local customizations (such as a custom SECRET_KEY, database settings, or LDAP configurations) into the override file so they survive updates:
/etc/netbox/configuration.local.py
Maintenance & Updates (inside the guest)
Fetches the latest NetBox release from GitHub, applies database migrations, runs collectstatic, and restarts services safely:
update
Self-Test (inside the guest)
Validates the Python virtualenv, Gunicorn processes, Django system health, and the RQ worker:
bash /var/lib/iac/src/core/bin/iac-smoke