Homebox 是一个专为家庭用户设计的自托管库存管理系统,旨在帮助用户轻松跟踪和管理家中的所有设备。它采用Go语言开发,并使用SQLite作为数据库,确保了系统的高效性和数据的安全性。通过提供直观的操作界面与强大的功能集,Homebox致力于简化日常物品管理流程,让用户能够更加有序地安排生活空间。
本次实践为个人测试环境,操作系统版本为|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 | —— |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署HomeBox家庭库存管理系统。
检查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(标签)对设备进行高效分类管理,这不仅帮助用户快速定位所需物品,还极大地提升了空间利用效率与日常整理的便捷性。此外,这种灵活的管理系统允许用户根据个人需求自定义标签和存储位置,从而实现更加个性化的物品管理体验。
点击创建标签,编辑标签名称,如下所示:
通过Docker部署HomeBox家庭库存管理系统的过程展示了容器化技术在简化软件部署方面的能力,整个安装与配置流程直观且高效。Homebox凭借其友好的用户界面和全面的功能选项,显著降低了家庭物品管理的复杂度。实践证明,利用Docker可以轻松实现环境的一致性和应用的快速启动,为用户提供了一个稳定可靠的运行平台。此次部署不仅验证了Homebox作为家用库存管理工具的有效性,也体现了现代技术如何有效提升日常生活中的组织效率。