So chances are everyone reading this has at one point or another had to document systems, particularly rack elevations, cable paths, and now IP addresses. How do you you deal with this when things can change constantly? If you print out documentation, now you have to update it and print it out again, hand written documentation gets messy quick with multiple changes. Its one thing to have neat and organized documentation, but doing this the normal way, kinda sucks.
Sure AutoCAD, MS Visio, and omnigraffle all do a great job at making documentation, but they are fixed and sometimes difficult to update on the fly. I have been struggling with the documentation process since I was in college, and that has not changed! There are so many things I’d rather be doing than documentation, that is until I found this awesome software called Netbox, a free and open source web based documentation system written by the guys at DigitalOcean. Here is what one portion of the system looks like:
For me, that screenshot up there is what got my attention, no more making rack elevations in Visio, and everything right there in the web interface! This software is very well thought out, but it is written for datacenters, not radio so there are a few small missing parts. After fiddling with it for a while and attempting to learn python, I thought it was time to dive in and make it work for radio. (only because I was sick of visio!)
Netbox does a great job at keeping track of your physical infrastructure, but it is more than just that. You can add your own devices and specify what type of ports there are on the device. Once you create a device, add ports and “install” it in a rack, you can then connect the cable path between devices, assign IP addresses and use the powerful API to link the devices in netbox to an invintory system. The only drawback as stated above was the lack of broadcast specific things built in.
Modification For Broadcast Use
Really there were only a few things that needed to change to get this system up and running for basic broadcast use, most notable was adding audio, and GPIO and other common port types for audio. Now the changes that I’ve made will not yet fit every single application in broadcasting, but I will totally accept feature requests and help working on making this a great application for use in broadcasting.
The big feature addition I would like to add would be keeping track of Livewire (or other digital systems) source channels. Since this system already has the IP, it has a cable path to the end device it would only make sense to add digital channels to the list of things it can track, however that is a pretty major feature and will take a little bit of time to work out, I hope to get some kind of concept rolling pretty soon.
To take a look at the current version of the modified code, take a look at the WPR Netbox repository on Github. Currently I am quite a few commits behind the master application since I have not had much time to work on this project, but I will be updating it soon, and I will post here once its updated.
For now you can spin this up on any small server, for testing I’m using the $5/mo Digitalocean server and it works great. As long as you can spin up a database and install python you are good to go!
Let me know what you think, or if you have any feature requests. If this gains popularity I may create a more technical topic for modifying the code and tracking feature requests on this site, but for now discuss here!