家庭库存管理系统Homebox

本文完成于 2022 年的 10 月, 最近正好有网友在找这方面的软件,就给翻出来了;Homebox 通过存储位置和标签两个维度来管理物品,非常简单易用,希望能满足要求;

什么是 Homebox ?

Homebox 是一个自托管库存系统,可让您跟踪所有设备。它基于 GoSQLite 构建。Homebox 专注于简单性和易用性,是满足您的家庭库存、组织和管理需求的完美解决方案。

安装

ghcr.io 镜像下载

官方的镜像没有发布在 docker hub,而是在 ghcr.io,所以直接用命令行来安装。

SSH 客户端中依次执行下面的命令

1
2
# 下载镜像
docker pull ghcr.io/hay-kot/homebox:latest

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

1
2
3
4
5
6
7
8
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/hay-kot/homebox:latest

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/hay-kot/homebox:latest ghcr.io/hay-kot/homebox:latest

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/hay-kot/homebox:latest

当然代理网站也不是什么时候都好使,有时候也会报错,例如下面👇这样的

1
Error response from daemon: received unexpected HTTP status: 500 Internal Server Error

所以有一个稳定的科学上网环境还是很重要的,不行只能多试几次了

docker cli 安装

现在可以开始运行了

关于环境变量,后面有专门的章节进行说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 homebox 和 子目录
mkdir -p /volume2/docker/homebox/data

# 进入 homebox 目录
cd /volume2/docker/homebox

# 运行容器
docker run -d \
--restart always \
--name homebox \
-p 7745:7745 \
-v $(pwd)/data:/data \
-e HBOX_LOG_LEVEL=info \
-e HBOX_LOG_FORMAT=text \
-e HBOX_WEB_MAX_UPLOAD_SIZE=10 \
ghcr.io/hay-kot/homebox:latest

docker compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "3.4"

services:
homebox:
image: ghcr.io/hay-kot/homebox:latest
container_name: homebox
restart: always
environment:
- HBOX_LOG_LEVEL=info
- HBOX_LOG_FORMAT=text
- HBOX_WEB_MAX_UPLOAD_SIZE=10
volumes:
- ./data:/data/
ports:
- 7745:7745

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 homebox 和 子目录
mkdir -p /volume2/docker/homebox/data

# 进入 homebox 目录
cd /volume2/docker/homebox

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

环境变量

docker 相关的环境变量

变量 缺省值 描述
HBOX_MODE production 应用程序的模式
HBOX_WEB_MAX_UPLOAD_SIZE 10 支持上传的最大文件大小(MB)
HBOX_LOG_LEVEL info 日志级别,可以是以下之一:tracedebuginfowarnerrorcritical
HBOX_LOG_FORMAT text 日志格式,可以是以下格式之一:textjson
HBOX_MAILER_HOST 电子邮件主机,如果未设置,则不会使用任何电子邮件功能
HBOX_MAILER_PORT 587 电子邮件端口
HBOX_MAILER_USERNAME 电子邮件用户
HBOX_MAILER_PASSWORD 电子邮件用户的密码
HBOX_MAILER_FROM 邮件来自地址
HBOX_SWAGGER_HOST 要使用的 swagger 主机,如果未设置,swagger 将被禁用
HBOX_SWAGGER_SCHEMA 使用的 swagger 模式,可以是以下之一:httphttps

更多的变量可以看官方文档:https://hay-kot.github.io/homebox/quick-start/

运行

在浏览器中输入 http://群晖IP:7745 就能看到登录界面

先要注册用户

密码长度要超过 6

登录成功后的主界面

从主界面我们可以发现,Homebox 是通过 Storage Locations(存储位置)Labels(标签) 来对设备进行分类管理的

因为老苏没有 Garage ,也没有 Basement ,所以需要对 Storage Locations 进行修改,没有的直接删除就好了

有的也把名字改成了中文

加了几个设备后的效果

可以编辑更详细的信息,比如在哪买的,价格多少等等

还可以在 User Profile 设置主题等

参考文档

hay-kot/homebox: Homebox is the inventory and organization system built for the Home User
地址:https://github.com/hay-kot/homebox

Quick Start - Homebox
地址:https://hay-kot.github.io/homebox/quick-start/

Homebox: Home Organizer Beta Release : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/y28h25/homebox_home_organizer_beta_release/