Posted on

Partkeepr Electronics Parts Inventory DB on PI3

A couple of years ago I got drawn into the mania surrounding the release of the then new PI3 model B.  Such a powerhouse of a computer in such a small package.  True, it couldn’t hold a candle to my main desktop pc in cpu speed, video or memory, but neither did it have a huge footprint, power appetite or  noise level.  Also about that time I graduated from just a couple three or four parts boxes to a full blown whole section of one wall lined with parts cabinets.  I was beginning to order parts for projects that I unknowingly already had in the bins.

The idea came to me that the PI3 could be used as a light weight internal parts inventory web server.  It would have the advantage of being accessible on my home network from any device connected via a browser, be on all the time and not create noise or consume lots  of power like my desktop pcs.   I had dismissed an earlier idea to use one of my NAS units to do the same due to the OS being so tightly proprietary and their cpu and memory were even less than the PI3.

At the time the PI3 was using Debian 8 Jesse as it’s main OS.  Unfortunately that release of Debian was beginning to be long in the tooth as far as what web server apps versions would run on it.  For instance PHP 7.0 had been released, but was not recommended on Jesse and there appeared to be no install package that had been released for that version of Debian.  Finally Ubuntu Mate 16.04 was released for the PI3.  Now there was a more modern version of Linux that would support the newer web server apps.

So then I went looking for an electronics parts inventory DB app.  Finally I happened upon the Partkeepr website. At that time it still hadn’t reached v1.0 yet, but I was impressed at how complete it seemed to be already.  I decided to try and get it up and running on the PI3 with the Ubuntu Mate 16.04 OS.

I began a torturous odyssey to somehow get the Partkeepr app up and running on the PI3.  Sometimes I digressed back to Debian Jesse and the older support apps, sometimes I quit the PI3 altogether and tried running a Linux machine inside VirtualBox on my backroom pc.  I got right upto the final setup screen on the Partkeepr setup app where it was trying to ‘warm up the cache’ and it would fail every time on the PI3.  Once on the virtualbox machine running Ubuntu Mate I was able to finish the setup, but that wasn’t really the way I wanted to access Partkeepr.   I would set the project aside for sometimes months at at time, but it was never completely abandoned.

Over the last year and a half Partkeepr itself has improved and added features.  It is now at version 1.3.  Also apparently I am not the only one wanting to use it on machines like the PI3.  The last time I checked the Partkeepr Wiki website there was a work around for the slow I/O issue with PI machines that caused the cache failure.  So obviously there was enough demand to support the effort to find a workaround.  Also on the Partkeepr Wiki website there is a generic Debian 9 Stretch walk through to setup Partkeepr.  Then recently the Raspberry foundation updated it’s default OS to Debian 9 Stretch.

As the first major project for the new year I decided to take up the project again.  I decided to follow as closely as possible the generic Debian 9 Stretch walk thorough, while incorporating the slow I/O fix for the PI3.  Things went rather smoothly for a change.  There were some bumps in the road, but no major roadblocks as long as I made the necessary changes for the particular setup and app versions I was using.  As I went along I kept a journal of the necessary commands and configuration settings.   If it worked, I intended to memorialize it with the intention of seeing if I could repeat the install and eliminate wasted effort for others.   I believe I was successful in both.

I now have a functioning Partkeepr installation on my PI3 machine.  I have no illusions on the speed of this installation.  After all it’s on a PI3, but since I’m the only user and my parts inventory is somewhat under the 1000 number, it should work just fine.  I wouldn’t advise trying to use the PI3 for other server functions.  The instructions I am providing assume that the Partkeepr host is the only one on the PI3.  If you want to use and add additional virtual hosts on the PI3, I suppose you can, but I have no clue what changes need to be done to the instructions I provide to allow that.  This only gets you to the first login to the Partkeepr server.  You still need to configure parts location and part categories, before you can actually begin to enter your parts.   This web page gives you basic overall info on how to do that, starting on page two of the article.  For other info, remember Google is your friend.

Now I’ve had some experience in Linux from years and years ago, but I’m mainly a Windows person.  More so now that I find I don’t remember things as easily as I did in my youth.  🙂  So I have to warn you that even the simplified instruction I give you assume that you have some experience with Linux/PI3/CLI/Networking and computers in general.   If you don’t feel comfortable with the instructions, get a hold of a friend or someone who owes you that does have that level of experience and can do it for you.  One final caveat, this instruction assumes a US-Central Timezone installation.  You will have to make the necessary changes in the localization section of the PI3 for your country, keyboard and timezone settings.



Leave a Reply