【Docker项目实战】使用Docker部署HomeBox家庭库存管理系统
@TOC
一、 Homebox介绍
1.1 Homebox 简介
Homebox 是一个专为家庭用户设计的自托管库存管理系统,旨在帮助用户轻松跟踪和管理家中的所有设备。它采用Go语言开发,并使用SQLite作为数据库,确保了系统的高效性和数据的安全性。通过提供直观的操作界面与强大的功能集,Homebox致力于简化日常物品管理流程,让用户能够更加有序地安排生活空间。
1.2 主要特点
- 简洁易用:专注于用户体验的设计理念使得即便是技术新手也能快速上手。
- 自托管服务:允许用户在自己的服务器或本地计算机上安装运行,保证个人隐私安全。
- 灵活扩展:支持根据需要添加新的分类或者属性,适应不同用户的个性化需求。
- 跨平台兼容:基于Web的应用程序可以无缝运行于多种操作系统之上(如Windows, macOS, Linux等)。
- 实时同步:多设备间的数据更新几乎无延迟,确保信息的一致性。
- 数据备份恢复:内置的数据导出导入机制让重要资料得以妥善保存并随时恢复。
- 权限管理:允许多用户访问的同时还能设置不同的操作权限,适合家庭成员共同使用。
1.3 主要使用场景
- 家庭资产管理:记录家中贵重物品如电子产品、家具等的位置及状态,便于查找维护。
- 收藏品整理:对于爱好收藏的人来说,可以详细记录每件藏品的信息,包括购买日期、价格以及相关描述。
- 搬家准备:当面临搬家时,提前做好清单可以帮助规划运输过程,避免遗漏重要物品。
- 保险理赔辅助:遇到意外损失时,详细的财产列表有助于加快保险公司的理赔流程。
- 租赁管理:房东可通过此系统追踪出租屋内的设施情况,方便租客入住前后的检查对比。
- DIY项目材料管理:进行家装改造或其他手工活动时,有效管理所需材料及其消耗情况。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像名称 | 备注 |
---|---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | registry.cn-hangzhou.aliyuncs.com/jeson/homebox:latest | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署HomeBox家庭库存管理系统。
三、本地环境检查
3.1 检查Docker服务状态
检查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
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载HomeBox镜像
执行以下命令,拉取以下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
五、部署HomeBox应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/homebox && cd /data/homebox
5.2 docker-cli方式部署(可选)
可使用以下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
5.3 编辑部署文件
本次实践使用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
5.4 创建HomeBox容器
执行以下命令,创建HomeBox容器。
root@jeven01:/data/homebox# docker compose up -d
[+] Running 2/2
✔ Network homebox_default Created 0.1s
✔ Container homebox Started 0.3s
5.5 查看HomeBox容器状态
检查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
5.6 检查HomeBox容器日志
检查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
六、访问HomeBox服务
6.1 访问HomeBox首页
访问地址:http://192.168.3.88:6100,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
6.2 注册账号
点击注册账号,自定义填写账号信息即可。
注册账号完毕后,在登录页输入账号密码,进入HomeBox首页。
七、HomeBox的基本使用
7.1 修改存放位置
Homebox 通过 Storage Locations(存储位置)和 Labels(标签)对设备进行高效分类管理,这不仅帮助用户快速定位所需物品,还极大地提升了空间利用效率与日常整理的便捷性。此外,这种灵活的管理系统允许用户根据个人需求自定义标签和存储位置,从而实现更加个性化的物品管理体验。
- 进入Locations模块,重新编辑家庭存放位置,效果如下所示:
7.2 编辑标签
点击创建标签,编辑标签名称,如下所示:
7.3 创建物品信息
- 创建物品信息,进入物品信息编辑页面。
- 编辑物品信息:包括物品位置、名称、物品描述、标签等,填写完毕后,确认创建。
- 确认创建物品信息后,可以编辑该物品更详细的信息,例如购买价格等。
- 回到主页,可以看到最终效果如下:
八、总结
通过Docker部署HomeBox家庭库存管理系统的过程展示了容器化技术在简化软件部署方面的能力,整个安装与配置流程直观且高效。Homebox凭借其友好的用户界面和全面的功能选项,显著降低了家庭物品管理的复杂度。实践证明,利用Docker可以轻松实现环境的一致性和应用的快速启动,为用户提供了一个稳定可靠的运行平台。此次部署不仅验证了Homebox作为家用库存管理工具的有效性,也体现了现代技术如何有效提升日常生活中的组织效率。
- 点赞
- 收藏
- 关注作者
评论(0)