how to self host your own retail store đ¨đģâđ§
Introduction
Running a small retail business is tough enough without getting nickeled and dimed by service providers and overpriced hardware. If you’re confident enough in your ability to setup and maintain a few systems, there is money to be saved self hosting your own IT services. This is how you do it.
Self-Hosting Stuff
Required
-
Any pc capable of running TrueNAS, recommend an off lease workstation. Doesn’t have to be super powerful, anything with an i5 and 8+ gigs of RAM from 5 - 10 years ago is probably fine. Only real requirement is that the chassis can hold a couple disks inside. Referred to as ’the server’ from here on out.
-
An 8 GB or larger USB key.
-
A separate POS terminal computer, in my case I use an older iMac for my cash register. POS software is running on ’the server’ which I’ve stuffed in the basement and is accessed via a web browser on the iMac. The software suite in mind, phpPOS, allows for more than one machine at a time to act as a register.
-
A pair of reasonable capacity drives to run redundantly on the server. At least 500GB x2. And an additional disk to run the operating system from, at least 30GB, SSD preferred.
-
A network router / switch / gateway, in my case I used an Airport Extreme. Tastes may vary. + network cabling.
-
A cash drawer + receipt printer (can be bought on eBay, Amazon, or local places.). We’ll discuss printers more later.
-
POS software of some kind. My choice is đphpPointOfSale
Optional but Recommended
-
A separate iPad đą/ laptop đģ / terminal đĨī¸ which can also access the POS software via the local network for times the cash register is crowded or for creating work orders / sales while the main terminal is busy.
-
Barcode scanner đ and accompanying product database. IMO if your inventory is small or mostly service based maintenance on your item database in terms of keeping accurate inventory numbers, making use of unique item SKU’s for every product, etc. can outweigh its usefulness compared to just using generic type SKU’s and relying on other methods of keeping track of inventory.
-
UPC sticker printer, very useful for adding your own scannable codes to items and of course for making price tags. I used an old Brother label printer and their software.
-
A bluetooth or Airplay streaming target + old hi-fi mini system. In my case I use an Airport Express hooked up to an old Sony hi-fi for in-store music. You could use a Raspberry Pi instead of an Airport Express. We playback music stored on the server via the POS terminal iMac wirelessly on the hi-fi system. You could also use your streaming service of choice this way.
-
Raspberry Pi Airprint Server, making use of a Raspberry Pi we can add a number of ‘smart’ features to a dumb printer. Allows all the POS terminals, iMac + iPad, to share a single printer, also enables the ‘airprint’ functionality from the iMac and iPad which wouldn’t normally be available with an inexpensive receipt printer. We’ll go into detail on that later.
Extra Optional
- PBX Server, you can host your own PBX for both incoming, outgoing and internal calls. You can host the software in a VM on the server or on something like a RaspberryPi. This is really handy if you need people to be able to communicate inside your establishment. Only thing to keep in mind is that if this goes down everything, including emergency calls aren’t going to work, maybe that doesn’t matter so much with everyone having a cell phone.
POS Software + Payment Terminals Discussion
First of all, Point of Sale systems. There are a handful of open source systems, mostly awful. Many commercial systems are available, ranging from awful to pretty slick. i.e. đLightspeed. But these are expensive solutions, requiring specific costly hardware.
Commercial systems have mostly integrated their own costly payment processor partners into their systems, leaving retailers who have bought into these systems little leverage. Not ideal.
Most open source system are simply not that great, or require a great deal of configuration / module development for your particular use case, and thats very sub-optimal in my opinion.
The one stand out piece of commercial software I was able to find that explicitly was designed for and allows self hosting is called đphppointofsale. I’ve been running my bicycle repair business for the past 7+ years using while self hosting this software. It’s worked perfectly for my purposes and is configurable easily to many use cases.
This software can integrate with some payment terminals but don’t bother. If you use a separate unintegrated payment terminal from your POS software you can get the best debit / credit processing rates possible.
Onto part 2 - installing TrueNAS on the server.
>> Home