Deploying HomeBox
Introduction
HomeBox is a simple yet powerful home inventory management application designed to help you organize, track, and manage your possessions. Whether you need to catalog items for insurance purposes, track where things are stored, or simply want to know what you own, HomeBox provides an intuitive interface for managing your home inventory.
Developed and maintained by SysAdminsMedia after the original project was archived, HomeBox continues to receive updates and improvements. The application features a clean, modern interface with support for locations, labels, custom fields, and QR code labels for physical organization.
Key highlights of HomeBox:
- Location Management: Organize items by rooms, shelves, or containers
- Label System: Categorize items with custom labels
- Custom Fields: Add any additional information you need
- QR Codes: Generate and print labels for physical items
- Asset Tracking: Track serial numbers, warranties, and purchase info
- Photo Attachments: Add images to your inventory items
- Import/Export: Bulk import from CSV and export your data
- Multi-User: Share access with family members
This guide walks through deploying HomeBox on Klutch.sh using Docker, setting up your inventory system, and organizing your possessions.
Prerequisites
Before deploying HomeBox on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your HomeBox configuration
- Basic familiarity with Docker and containerization concepts
Preparing Your Repository
Create a GitHub repository with the following structure:
homebox-deploy/├── Dockerfile├── .dockerignore└── README.mdCreating the Dockerfile
Create a Dockerfile using the SysAdminsMedia HomeBox image:
FROM ghcr.io/sysadminsmedia/homebox:latest
# Environment variablesENV HBOX_LOG_LEVEL=infoENV HBOX_LOG_FORMAT=textENV HBOX_WEB_MAX_UPLOAD_SIZE=10ENV HBOX_OPTIONS_ALLOW_REGISTRATION=${HBOX_OPTIONS_ALLOW_REGISTRATION:-true}
# Expose the application portEXPOSE 7745
# Health checkHEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:7745/api/v1/status || exit 1Advanced Dockerfile with All Options
FROM ghcr.io/sysadminsmedia/homebox:latest
# Logging configurationENV HBOX_LOG_LEVEL=${HBOX_LOG_LEVEL:-info}ENV HBOX_LOG_FORMAT=${HBOX_LOG_FORMAT:-text}
# Upload limitsENV HBOX_WEB_MAX_UPLOAD_SIZE=${HBOX_WEB_MAX_UPLOAD_SIZE:-10}
# Registration settingsENV HBOX_OPTIONS_ALLOW_REGISTRATION=${HBOX_OPTIONS_ALLOW_REGISTRATION:-true}
# Disable analyticsENV HBOX_OPTIONS_ALLOW_ANALYTICS=false
# Currency (for purchase tracking)ENV HBOX_OPTIONS_CURRENCY=${HBOX_OPTIONS_CURRENCY:-USD}
EXPOSE 7745
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:7745/api/v1/status || exit 1Rootless Deployment
For enhanced security, use the rootless image:
FROM ghcr.io/sysadminsmedia/homebox:latest-rootless
ENV HBOX_LOG_LEVEL=infoENV HBOX_OPTIONS_ALLOW_REGISTRATION=trueENV HBOX_OPTIONS_ALLOW_ANALYTICS=false
EXPOSE 7745
# Note: For rootless, data directory should be owned by user 65532Environment Variables Reference
| Variable | Required | Default | Description |
|---|---|---|---|
HBOX_LOG_LEVEL | No | info | Logging level (debug, info, warn, error) |
HBOX_LOG_FORMAT | No | text | Log format (text or json) |
HBOX_WEB_MAX_UPLOAD_SIZE | No | 10 | Maximum upload size in MB |
HBOX_OPTIONS_ALLOW_REGISTRATION | No | true | Allow new user registration |
HBOX_OPTIONS_ALLOW_ANALYTICS | No | true | Send anonymous analytics |
HBOX_OPTIONS_CURRENCY | No | USD | Default currency for prices |
Deploying HomeBox on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 7745
Push Your Repository to GitHub
git initgit add Dockerfile .dockerignore README.mdgit commit -m "Initial HomeBox deployment configuration"git remote add origin https://github.com/yourusername/homebox-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project named “homebox” or “inventory”.
Create a New App
Within your project, create a new app. Connect your GitHub account and select your HomeBox repository.
Configure HTTP Traffic
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
HBOX_LOG_LEVEL | info |
HBOX_OPTIONS_ALLOW_REGISTRATION | true (change to false after setup) |
HBOX_OPTIONS_ALLOW_ANALYTICS | false |
HBOX_OPTIONS_CURRENCY | Your currency (e.g., USD, EUR, GBP) |
Attach Persistent Volumes
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 10 GB | Database and uploaded files |
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will build the container, attach volumes, and start HomeBox with HTTPS enabled.
Access HomeBox
Once deployment completes, access your HomeBox instance at https://your-app-name.klutch.sh. Create your first account to get started.
Secure Your Instance
After creating your account, set HBOX_OPTIONS_ALLOW_REGISTRATION=false to prevent unauthorized signups.
Using HomeBox
Creating Your First Location
- Log in to HomeBox
- Navigate to Locations
- Click Create Location
- Enter details:
- Name (e.g., “Living Room”, “Garage”)
- Description
- Parent location (for nested organization)
- Save the location
Adding Items
- Navigate to Items
- Click Create Item
- Fill in details:
- Name
- Description
- Location
- Labels (categories)
- Quantity
- Add optional fields:
- Purchase price and date
- Serial number
- Warranty information
- Custom fields
- Upload photos
- Save the item
Using Labels
Labels help categorize items across locations:
- Navigate to Labels
- Create labels like:
- Electronics
- Kitchen
- Tools
- Valuables
- Apply labels when creating items
- Filter inventory by labels
QR Code Labels
Generate printable labels:
- Select an item
- Click Print Label
- QR code links to item details
- Attach label to physical item
- Scan with phone to view details
Custom Fields
Add any information you need:
- Navigate to Settings > Custom Fields
- Create fields like:
- Color
- Size
- Condition
- Insurance policy number
- Fields appear on item forms
Bulk Import
Import existing inventory:
- Prepare CSV file with columns:
- name
- description
- location
- labels
- quantity
- purchase_price
- Navigate to Import
- Upload your CSV
- Map columns to fields
- Import items
Organization Tips
Location Hierarchy
Create nested locations:
Home├── Living Room│ ├── TV Stand│ └── Bookshelf├── Kitchen│ ├── Pantry│ └── Cabinets└── Garage ├── Tool Wall └── Storage ShelvesLabeling Strategy
Combine labels for flexible filtering:
- Type: Electronics, Furniture, Books
- Status: In Use, Stored, Lent Out
- Priority: Essential, Valuable, Replaceable
Insurance Documentation
For valuable items:
- Add purchase receipts as attachments
- Include serial numbers
- Note warranty expiration
- Document condition with photos
Troubleshooting
Cannot Log In
- Verify account was created successfully
- Check if registration is still enabled
- Review application logs
Upload Fails
- Check file size limits
- Verify storage space available
- Ensure file type is supported
Data Not Saving
- Verify persistent volume is mounted
- Check database permissions
- Review error logs
Additional Resources
- HomeBox GitHub Repository
- HomeBox Website
- HomeBox Quick Start Guide
- HomeBox Docker Hub
- Klutch.sh Persistent Volumes
- Klutch.sh Deployments
Conclusion
Deploying HomeBox on Klutch.sh provides a comprehensive home inventory management solution with location tracking, labeling, and asset documentation. Whether you’re cataloging items for insurance, organizing storage, or simply wanting to know where things are, HomeBox’s intuitive interface makes inventory management straightforward. With persistent storage for your data and photos, your inventory remains safe and accessible across deployments.