You'd be surprised how easy it is to setup something useful, my in house one is about 250~ lines (ruby) connecting with some of my own API's too for config and reporting.
Previously I used advancedwebranking.com which worked well, but I only needed the rankings reports which I then needed to integrate into my own applications, so there was very little code to produce to get the functionality I needed.