I propose to take in Netdisco - An open source web-based network management tool.

Project/Source here:

Demo page here: https://netdisco2-demo.herokuapp.com/

In my opinion it's better than the community version of Observium especially because it has that RESTful API https://netdisco2-demo.herokuapp.com/swagger-ui/?url=/swagger.json builtin.


Jeremy Davis's picture

It looks like an interesting project and appears to have minimal dependencies.

Is this a proposal that you are considering working on? Or a request for us to develop it?

If it's the former, then awesome! It appears to be written in Perl, so (assuming it works with a MySQL/MariaDB backend) starting from our LAMP appliance is probably as good a place as any (or LAPP if it needs PostgreSQL). If you have any questions, please do not hesitate to ask.

If it's the latter, then that's fine too. Although please don't hold your breath! Currently it feels like I'm running flat out just to go backwards... (I'm being hyperbolic, but that's certainly how it feels lately). Regardless, I have no idea when I might be able to develop any new appliances (and there is already a backlog of requests).

I suggested you develop it, BUT I am going to install and configure it on a plain vanilla Debian VM anyway, so I can help. 

In fact, I have not much experience how to do a TKL appliance, but I have enough LAPP know how. Will do notes during the installation and post that recipe here.

Jeremy Davis's picture

FYI the appliance build code is basically just a heap of install and configuration scripts (mostly written in bash), packages to install and files to overlay. Mostly it's bash, with a little python (inithooks).

The only bits that are really that tricky are things such as automating UI installers (we use curl to interact with the web UI) and resetting passwords (on firstboot - i.e. inithooks).

If you can share install notes, then that will make building an appliances much easier. Still no promises on when it might happen, but it'll certainly push it forward.

I went from a plain vanilla bullseye Debian 11 VM:


apt install libdbd-pg-perl libsnmp-perl libssl-dev libio-socket-ssl-perl curl postgresql build-essential
apt install snmpd lldpd
useradd -m -p x -s /bin/bash netdisco
su - postgres
postgres> createuser -DRSP netdisco
          Enter password for new role:
          Enter it again:
postgres> createdb -O netdisco netdisco
su - netdisco

netdisco> curl -L https://cpanmin.us/ | perl - --notest --local-lib ~/perl5 App::Netdisco
netdisco> mkdir ~/bin
netdisco> ln -s ~/perl5/bin/{localenv,netdisco-*} ~/bin/

netdisco> mkdir ~/environments
netdisco> cp ~/perl5/lib/perl5/auto/share/dist/App-Netdisco/environments/deployment.yml ~/environments
netdisco> chmod 600 ~/environments/deployment.yml
netdisco> edit ~/environments/deployment.yml

basically just set the postgres username and password there
netdisco> ~/bin/netdisco-deploy
# answer "y" to all
netdisco> ~/bin/netdisco-web start
netdisco> ~/bin/netdisco-backend start

=> now you should be able to connect to the netdisco web frontend at the machine you installed netdisco on.

Jeremy Davis's picture

Nice one - thanks! :)

Looking at your post it appears that you're just manually starting it? Does the install process configure some sort of auto start mechanism (e.g. a systemd unit file)? Or is that something we'll need to do ourselves? (No biggie if we do, I'm just curious).

I did start them manually, but this doc explains (basically copy&paste) how to anchor them to systemd:




edit: did according to that documentation and it works. Netdisco starts up on boot.



(there is really something very wrong with the forum and/or the cloudflare frontend: slow as molasses, timeout after submission of comment, then comment appears twice...)

Jeremy Davis's picture

Thanks - and sorry about the forums... I assume you got an error after each post (even though the post was successful)?! FWIW, that was an intermittent issue already, but it appears that the server upgrade has exacerbated it - to the point that it seems fairly consistent now... :( I'll have to dig in and try to work out what it is.

Add new comment