MCPSERV.CLUB
HomeBox

HomeBox

Self-Hosted

Fast, lightweight home inventory for all devices

Active(100)
4.0kstars
0views
Updated 2 days ago
HomeBox screenshot 1
1 / 5

Overview

Discover what makes HomeBox powerful

HomeBox is a lightweight, self‑hosted inventory management system written in **Go**. Its core goal is to provide a fast, low‑resource backend that can run in any environment—from a Raspberry Pi to a production Kubernetes cluster—while exposing a clean, responsive web UI for end users. The application is built around a single SQLite database that lives in the container’s data volume, which eliminates external dependencies and simplifies backups or migrations. Because HomeBox is written in Go, the compiled binary is statically linked and can run on any platform that supports Linux binaries, making it ideal for edge deployments.

Rich Data Model

Search & Filtering

Media Handling

Document & Warranty Tracking

Overview

HomeBox is a lightweight, self‑hosted inventory management system written in Go. Its core goal is to provide a fast, low‑resource backend that can run in any environment—from a Raspberry Pi to a production Kubernetes cluster—while exposing a clean, responsive web UI for end users. The application is built around a single SQLite database that lives in the container’s data volume, which eliminates external dependencies and simplifies backups or migrations. Because HomeBox is written in Go, the compiled binary is statically linked and can run on any platform that supports Linux binaries, making it ideal for edge deployments.

Key Features & Technical Capabilities

  • Rich Data Model – Items, categories, locations, tags, and custom fields are stored in normalized tables. The API exposes CRUD endpoints for each entity, along with bulk import/export in JSON and CSV formats.
  • Search & Filtering – A full‑text search index is built on top of SQLite’s FTS5 module, enabling instant keyword lookup across item names, descriptions, and custom fields. Advanced filtering is available via query parameters (?category=…&location=…).
  • Media Handling – Image uploads are served through a dedicated /media/ endpoint. The backend streams files directly from the data volume, avoiding memory bloat.
  • Document & Warranty Tracking – Documents are attached to items via a one‑to‑many relationship. The API supports uploading PDFs, Office files, and any binary blob, which are then served with appropriate MIME types.
  • Extensibility – HomeBox ships a simple plugin system that allows developers to hook into request lifecycle events (e.g., onCreateItem) and add custom validation or side‑effects. Webhooks can be configured per item to notify external services on state changes.

Architecture & Stack

LayerTechnology
RuntimeGo 1.22 (static binary)
Web FrameworkCustom minimal router; no heavy frameworks to keep footprint small.
PersistenceSQLite (v3) with FTS5 for search; data persisted in /data/homebox.db.
APIRESTful JSON endpoints, versioned under /api/v1/.
FrontendEmbedded HTML/CSS/JS served via Go’s embed package; responsive design built with Tailwind CSS.
ContainerizationOfficial Docker image (ghcr.io/sysadminsmedia/homebox) with rootless support; rootless or hardened variants available.

The application follows a classic three‑tier pattern: a thin HTTP layer, a service layer that encapsulates business logic, and a persistence layer. Because the database is file‑based, scaling horizontally requires shared storage or a read‑replica strategy; however, for most home‑oriented use cases a single instance suffices.

Deployment & Infrastructure

  • Self‑Hosting – A single Docker container is all that’s required. The data volume must be writable by the non‑root user (uid 65532). No external services (Redis, PostgreSQL) are needed.
  • Scalability – For larger deployments, the container can be deployed behind a reverse proxy (Traefik, Nginx) with TLS termination. Horizontal scaling is possible by using a shared network‑attached filesystem for the SQLite database, though care must be taken to avoid concurrent write conflicts.
  • Resource Footprint – Idle memory usage stays below 50 MB, and CPU spikes only occur during bulk imports or large search queries. This makes it suitable for low‑power devices.
  • CI/CD – The project ships with a GitHub Actions workflow that builds the image, runs unit tests, and pushes to GHCR. Developers can mirror this pipeline for custom releases.

Integration & Extensibility

HomeBox exposes a well‑documented REST API with OpenAPI (Swagger) annotations, enabling easy integration into existing automation workflows. Custom scripts can poll the /api/v1/items endpoint, or use webhooks to trigger downstream actions (e.g., sending a Slack notification when an item’s warranty expires). The plugin system uses Go plugins (.so files) that can be dropped into a /plugins/ directory; the main process loads them at startup, allowing developers to add new endpoints or modify existing behavior without modifying core code.

Developer Experience

The documentation is hosted at https://homebox.software/en/ and includes detailed API references, deployment guides, and a Discord community for real‑time support. Configuration is minimal—environment variables (TZ, PORT) control runtime behavior, while the database path is fixed to /data. The codebase follows idiomatic Go conventions and includes extensive unit tests, making it approachable for contributors. Licensing is permissive (MIT), encouraging reuse and modification.

Use Cases

  1. Home Inventory – Track appliances, electronics, or collectibles with purchase dates and warranties.
  2. Small Business Asset Management – A small shop can use HomeBox to catalog stock, monitor expiration dates, and generate invoices via the API.
  3. IoT Device Registry – Embed HomeBox on a local network to maintain a registry of connected devices, exposing REST endpoints for device discovery.
  4. Educational Projects – Students can learn Go web development by extending the plugin system or adding a GraphQL layer.

Advantages Over Alternatives

  • Zero‑Dependency – No external database or message broker required, reducing operational complexity.
  • **Performance & Low

Open SourceReady to get started?

Join the community and start self-hosting HomeBox today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
4.0k
Technical Specs
Pricing
Open Source
Database
SQLite
Docker
Official
Supported OS
LinuxDocker
Author
sysadminsmedia
sysadminsmedia
Last Updated
2 days ago