Install and Configure Homebox
There are a lot of great open source options for inventory management out there. I want to start with one that I found recently called Homebox. It is really a great conceptual bit of software, and it has some really great features that can make it very easy to get started with inventory management.
When I think of home inventory, I think of a list of the items I have in my home, from furniture, to electronics, to photo-albums, antiques, and so much more. When you think about why you might want to catalog these items, consider the worst case scenario where you have a destructive occurrence such as a fire, flood, hurricane, or tornado. Perhaps its a disastrous criminal occurrence where you are burglarized, and everything is taken or destroyed.
Your insurance company is going to want a list of all of your assets. They don't want to just write you a giant check when all you owned was a couple of bricks, a plank of wood, and a television set. You want to be able to catalog the items you had, the value to replace them, and serial numbers for the law enforcement agencies to try and track them down. These days, they can enter the serial numbers into a database that pawn shops can subscribe to in order to save themselves money. The pawn shop can identify something as stolen before lending money or buying an item.
Let's get down to the nuts and bolts of this system, and get it setup.
What You'll Need
- Docker-CE and Docker-Compose installed on a system where you want to run your inventory server.
- (optional) NGinX Proxy Manager (or a reverse proxy of your choice) to get outside access to your server from the internet.
- (optional) A domain name that you can add / edit A-records for.
- About 20 Minutes of your time.
Installing Docker-CE, Docker-Compose, and NGinX-Proxy-Manager
Installation via a Simple Script
You can easily install Docker-CE, Docker-Compose, Portainer-CE, and NGinX Proxy manager by using this quick install script I created and maintain on Github. Just use the command:
wget https://gitlab.com/bmcgonag/docker_installs/-/raw/main/install_docker_nproxyman.sh
To download the script to your desired host.
Change the permissions to make the script executable:
chmod +x ./install_docker_nproxyman.sh
and then run the script with the command:
./install_docker_nproxyman.sh
When run, the script will prompt you to select your host operating system, then will ask you which bits of software you want to install.
Simply enter 'y' for each thing you want to install.
At some point, you may be asked for your super user (sudo) password as well.
Allow the script to complete installation.
At this point, you might want to log out and back in, as this will allow you to use the docker
and docker-compose
commands without the need of sudo
in front of them.
Installing Homebox in Docker
Now that you have Docker and Docker-Compose installed, you'll want to setup a folder structure that will be very handy for any future applications you may want to run in docker on this same machine.
First we'll create a parent "docker" directory, and we'll want a "homebox" directory inside of that.
mkdir -p docker/homebox
This command looks to see if the "docker" folder already exists, and if it does, it just creates the "homebox" folder inside of it. If it doesn't, then it creates both folders at once.
Now, we want to move into our new "homebox" directory, and create our "docker-compose.yml" file.
cd docker/homebox
nano docker-compose.yml
Now that you have the nano text editor open, you'll copy the docker-compose yaml text from the box below, and paste it into your new file.
version: "3.4"
services:
homebox:
image: ghcr.io/hay-kot/homebox:latest
container_name: homebox
restart: unless-stopped
environment:
- HBOX_LOG_LEVEL=info
- HBOX_LOG_FORMAT=text
- HBOX_WEB_MAX_UPLOAD_SIZE=10
- HBOX_OPTIONS_ALLOW_REGISTRATION=false
volumes:
- ./homebox-data:/data/
ports:
- 3100:7745
volumes:
homebox-data:
driver: local