摘要:Homebox 是一个专为家庭用户设计的自托管库存管理系统,旨在帮助用户轻松跟踪和管理家中的所有设备。它采用Go语言开发,并使用SQLite作为数据库,确保了系统的高效性和数据的安全性。通过提供直观的操作界面与强大的功能集,Homebox致力于简化日常物品管理
本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:江湖有缘
Homebox 是一个专为家庭用户设计的自托管库存管理系统,旨在帮助用户轻松跟踪和管理家中的所有设备。它采用Go语言开发,并使用SQLite作为数据库,确保了系统的高效性和数据的安全性。通过提供直观的操作界面与强大的功能集,Homebox致力于简化日常物品管理流程,让用户能够更加有序地安排生活空间。
简洁易用:专注于用户体验的设计理念使得即便是技术新手也能快速上手。自托管服务:允许用户在自己的服务器或本地计算机上安装运行,保证个人隐私安全。灵活扩展:支持根据需要添加新的分类或者属性,适应不同用户的个性化需求。跨平台兼容:基于Web的应用程序可以无缝运行于多种操作系统之上(如Windows, macOS, Linux等)。实时同步:多设备间的数据更新几乎无延迟,确保信息的一致性。数据备份恢复:内置的数据导出导入机制让重要资料得以妥善保存并随时恢复。权限管理:允许多用户访问的同时还能设置不同的操作权限,适合家庭成员共同使用。家庭资产管理:记录家中贵重物品如电子产品、家具等的位置及状态,便于查找维护。收藏品整理:对于爱好收藏的人来说,可以详细记录每件藏品的信息,包括购买日期、价格以及相关描述。搬家准备:当面临搬家时,提前做好清单可以帮助规划运输过程,避免遗漏重要物品。保险理赔辅助:遇到意外损失时,详细的财产列表有助于加快保险公司的理赔流程。租赁管理:房东可通过此系统追踪出租屋内的设施情况,方便租客入住前后的检查对比。DIY项目材料管理:进行家装改造或其他手工活动时,有效管理所需材料及其消耗情况。本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-11-01 00:45:50 CST; 3 weeks 0 days ago Docs: https://docs.docker.com Main PID: 10450 (dockerd) Tasks: 150 (limit: 9387) Memory: 3.4G CPU: 46min 54.584s CGroup: /system.slice/docker.service ├─10450 /usr/bin/dockerd ├─10459 containerd --config /var/run/docker/containerd/containerd.toml
检查Docker版本
root@jeven01:~# docker -v Docker version 27.1.1, build 6312585
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version Docker Compose version v2.19.1
执行以下命令,拉取以下HomeBox镜像。
root@jeven01:~# docker pull registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest latest: Pulling from jeson/homebox 661ff4d9561e: Already exists a3869754c8a1: Pull complete 1d59ec9dd708: Pull complete 297bf7c14ef7: Pull complete 4f4fb700ef54: Pull complete Digest: sha256:078ed2d1c773ec3fecfdc6bb78269c9cbcddf4b22e8ff2b964df989a8a667838 Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest
创建部署目录mkdir -p /data/homebox && cd /data/homebox
可使用以下docker-cli方式,快速部署HomeBox应用。
docker run -d --restart always --name homebox -p 6100:7745 -v /data/homebox/data:/data -e HBOX_LOG_LEVEL=info -e HBOX_LOG_FORMAT=text -e HBOX_WEB_MAX_UPLOAD_SIZE=10 -e TZ=Asia/Shanghai registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3.9' services: jeson: image: 'registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest' environment: - TZ=Asia/Shanghai - HBOX_WEB_MAX_UPLOAD_SIZE=10 - HBOX_LOG_FORMAT=text - HBOX_LOG_LEVEL=info volumes: - '/data/homebox/data:/data' ports: - '6100:7745' container_name: homebox restart: always
执行以下命令,创建HomeBox容器。
root@jeven01:/data/homebox# docker compose up -d [+] Running 2/2 ✔ Network homebox_default Created 0.1s ✔ Container homebox Started 0.3s
检查HomeBox容器状态状态,确保HomeBox容器正常启动。
root@jeven01:/data/homebox# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS homebox registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest "/app/api /data/conf…" jeson 25 seconds ago Up 25 seconds 0.0.0.0:6100->7745/tcp, :::6100->7745/tcp
检查HomeBox容器日志,确保HomeBox服务正常运行。
root@jeven01:/data/homebox# docker compose logs homebox | 3:12PM INF ../go/src/app/app/api/handlers/v1/v1_ctrl_auth.go:100 > registering auth provider name=local homebox | 3:12PM INF ../go/src/app/app/api/main.go:162 > Starting HTTP Server on :7745
访问地址:http://192.168.3.88:6100,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
点击注册账号,自定义填写账号信息即可。
注册账号完毕后,在登录页输入账号密码,进入HomeBox首页。
Homebox 通过 Storage Locations(存储位置)和 Labels(标签)对设备进行高效分类管理,这不仅帮助用户快速定位所需物品,还极大地提升了空间利用效率与日常整理的便捷性。此外,这种灵活的管理系统允许用户根据个人需求自定义标签和存储位置,从而实现更加个性化的物品管理体验。
进入Locations模块,重新编辑家庭存放位置,效果如下所示:通过Docker部署HomeBox家庭库存管理系统的过程展示了容器化技术在简化软件部署方面的能力,整个安装与配置流程直观且高效。Homebox凭借其友好的用户界面和全面的功能选项,显著降低了家庭物品管理的复杂度。实践证明,利用Docker可以轻松实现环境的一致性和应用的快速启动,为用户提供了一个稳定可靠的运行平台。此次部署不仅验证了Homebox作为家用库存管理工具的有效性,也体现了现代技术如何有效提升日常生活中的组织效率。
来源:什么值得买一点号