Getting My Life Organised With HomeBox (Open Source Inventory Management)

Daniel Rosehill
Daniel’s Tech World
7 min readFeb 26, 2024

--

Beginning the great home inventory of 2024. My tech cabinet / IVAR storage unit. Photo: Author.

The Problem

I have … well … a lot of … stuff.

Over the course of a decade, I’ve slowly built up a pretty decent collection of tech-related bits and pieces, many of which have bled into my work (these days: non-profit communications with a side helping of video production).

As my tech interests have developed and grown (data archiving, smart home automation) so have the accompanying array of bits and pieces that come along for the ride.

I need my 5 meter mini-HDMI to HDMI for certain projects. My Cam Link 4K for others. I need to know where my DP to DP monitor cables are to finally set up a new desktop. Oh, and I’d love to know where I put that micro-HDMI to HDMI to finally be able to try out my Raspberry Pi (as well as the ethernet to USB adapters for that project and everything else). You get the idea. Calling it organised chaos would be much too generous.

My solution over the years (which has persisted through a few apartment moves): buy storage in IKEA and boxes as required.

About six months ago — after my wife and I’s first move as a married couple — shit finally hit the fan. I no longer knew where anything was. I had reached the point at which it was easier to buy new components from the internet than spend hours routing through boxes trying to find an ethernet joiner or a cellular router. We had enough space. I cherished my inventory. But I urgently needed some sort of system.

HomeBox is an open source inventory management software intended for home users. Photo: Author.

The Solution

I spent a day poring through potential inventory management solutions. Some were horribly proprietary (want to pay a monthly subscription for the rest of your life to know where your stuff is? No thanks!). Others were ERP components intended for businesses selling stuff.

Some years ago, the good people at Synology were kind enough to send me an NAS to play around with (claim to fame: I got the DS920+ before anyone else in my country!).

Finally — with a nudge from Reddit — I stumbled upon a tool that checked all the boxes. It was self-hostable (so no vendor lock-in). There was a Docker image that could be deployed on a Synology or on cloud infrastructure — giving you the flexibility to deploy the system however made the most technical sense.

And finally — the coup de grace — it was intended exactly for folks like me whose “stuff” had gotten woefully out of hand.

A tutorial later and I had the container running and I could begin getting to work.

At the most basic level, HomeBox involves assigning assets (things) into locations (storage locations). Its simple UI belies a lot of useful functionality. Photo: Author.

The Tech / Deployment Details

HomeBox is deployed as a container.

You can host it locally and enable remote access via a variety of methods (Tailscale works great for authenticating from the WAN; Cloudflare also has a product or you can set up a reverse proxy).

Alternatively you could host it in the cloud by deploying the container with … anybody that will allow you to host containers.

Digital Ocean seems like a good choice here but there are too many options to list. The software — extremely well thought-out — runs lighting fast. Even on a DS920+ with no aftermarket upgrades.

As a committed backup anorak, backup-ability is always front of mind when evaluating software, open source or otherwise.

As usual there’s a few ways to skin this particular cat; this is merely the approach that made sense to me:

I opted to add my user data on an NAS volume and use Snapshot Replication to keep local snapshots which I then duplicate offsite using Cloud Sync. This gives me a couple of onsite snapshots (albeit on the same physical hardware) and a couple of offsites too.

If you’re comfortable with scripting, rsync and rsnapshot could all be used to achieve the same end.

Accessory Hardware

The inventorising in project. I picked up a Brother QL700 for the project. Photo: Author.
You can use barcodes that are automatically generated from within the system or make your own. I ended up using mostly DataMatrix codes (rather than QR) because I found that they scanned better at small sizes. Photo: Author.

My project involved inventorising (literally) thousands of items so I decided from the get-go that it was time to invest in a solid label printer that could handle the workload comfortably.

I picked up a Brother QL700 from a local printer supply store and a few rolls of continuous tape paper. It wasn’t long before I needed replenishments (pro tip: if you’re taking on a project like this, buy the tapes in 10s or dozens from Amazon).

I have a job and your other typical adult responsibilities so the inventorising was done before and after work. I made liberal use of a stock of caffeine pills. It was an insanely gruelling week both physically and mentally.

I also picked up a cheap standalone barcode reader from Aliexpress. It seemed remiss to create a whole inventory management system without one of these. I mean, who doesn’t love the prospect of replicating the supermarket experience in your home / live-in warehouse?

It outperforms my phone in terms of its reliability as a barcode scanner and the ‘inventory mode’ is extremely useful when assigning assets within the system (I tried out a few different barcode symbologies and ultimately have had the best success with DataMatrix).

I picked up a standalone barcode scanner to speed up the process of reading barcodes. It’s also great for totalling up a box inventory. Photo: Author.
You can add as much information as you want to each ‘item’. For my washing machine (pictured) I added the warranty details and the usage instructions as well as what type of power to keep in stock. The codes scan froma smartphone in an instant and accessing the system remotely is also easy. Photo: Author.

My Organisational System

HomeBox is no more complicated than it needs to be.

Although there’s room to be creative in exactly how you use it to make sense of your particular home inventory.

The system works at two basic levels: assets and locations.

Locations are where things “go” and should stay in order to be reliably found.

Every page of the system has a unique URL and an automatically generated QR code. This simple UI opens the doors to a lot of possibilities.

My first steps:

  • I took an inventory of all the boxes housing my stuff around my apartment. As I got around to inventorising their contents, I assigned them into the rooms they were stored in.
  • Each room got a location. If there was storage in a room (like a bookshelf) that was a location too. Shelves were sub-locations.
  • I designated a box to be the place I put stuff to be sorted in.

I had already grouped my items into bags (IKEA zip lock sandwich bags!).

So the inventorising process consisted primarily of registering each bags and its contents (if the contents were important enough they were individually inventorised). Assign it to a box. Hit save. And move on to the next one.

Finally I logged which shelf each box is on in my storage unit (okay, I’m only about halfway through with this last step). When the system is fully complete this week, I’ll be able to search for any item and find it in seconds.

Labels ready for boxes. Photo: Author.
I tested out a few different label designs before settling on one that I liked. Photo: Author.

Benefits

  • No more wasting time trying to find X … item
  • No more rebuying components that I didn’t know I already have
  • No more logging serial numbers and warranty details in spreadsheets and user manuals in a cloud drive. Everything goes into the one system.
  • Decluttering: although I’ve surely self-identified as a hoarder by now, I’ve already gotten rid of things by simply going through what I already have. Duplicates become very easy to spot. To mark items I’m ready to give away to charity (etc) I simply apply a “give away” label and then gather up the belongings. I’m pairing down what I have as I near the finish line.

Labels

I made the labels myself using P Touch Editor. I used DK2210 (62mm continuous tape) which gave me plenty of flexibility in terms of printing different sizes (etc).

The QR / DataMatrix codes will only resolve locally (because the assets have a local IP address). In cases where I wanted to look something up remotely, I can search by the asset ID (the six digit numbers that the system automatically generates sequentially as items are added).

Given that a six digit system can contain up to almost one million items … I figure it will be good enough …. for ever (hey, I can’t hoard THAT much!)

Photos

The Android UI is .. functional. I added a home screen short cut for ease of access. Photo: Author.
You can append attachments to items. For some items, I added photos, user manuals, warranty documents, invoices, etc. Photo: Author.
There’s no prescriptive way to use the software. One possibility (for shelving) is to create child locations for each shelf. Photo: Author.
You can add perishables and archive “finished” items. I added a few pantry containers. Photo: Author.
I used P Touch Editor to design and print labels although there’s a built in tool for those simply printing through inkjet printers on label template style products. Photo: Author.

Screenshots

Yes, I actually inventorised more than 2,000 items. Even running on an NAS with modest hardware, the system is lightning fast.
HomeBox runs as a Docker Container in Synology NAS. Just install the Container Manager package in DSM.
For backups, I’m using Snapshot Replication to take snapshots of the user data volume and Cloud Sync to push a couple of snapshots offsite to a cloud server at automatically recurring intervals.

More photos:

--

--

Daniel Rosehill
Daniel’s Tech World

Daytime: writing for other people. Nighttime: writing for me. Or the other way round. Enjoys: Linux, tech, beer, random things. https://www.danielrosehill.com