简介
什么是 BarKeep ?
BarKeep
是一个使用Ruby on Rails
构建的现代化酒吧库存管理系统。无论你是一个专业的调酒师,还是一个鸡尾酒爱好者,它都能帮你轻松追踪所有饮料、配料和用品。
主要特点
- 📦 库存管理- 追踪所有饮料、配料和供应品
- 📸 图片支持- 上传并显示产品图片
- 🏷️ 类别系统- 通过灵活的分类来组织项目
- 🚨 库存警报- 自动发出低库存和缺货通知
- 🔍 智能过滤- 按名称、类别、类型和库存状态搜索和过滤
- 📊 补货仪表板- 需要关注的商品的专用视图
- 🔐 用户认证- 具有会话管理的安全登录系统
- 🌙 深色主题- 赏心悦目的现代深色用户界面
应用场景
- 家庭吧台管理: 对于喜欢在家调制鸡尾酒的爱好者来说,可以轻松管理自己的酒水和配料库存。
- 小型酒吧: 小型酒吧或餐厅可以使用它来简化库存管理流程。
- 活动策划: 为派对或活动策划酒水单时,可以清晰地了解需要采购的物品。
Bar Keep
和老苏之前介绍的 Bar Assistant
不一样,Bar Keep
侧重于简单的库存管理,而 Bar Assistant
除了库存,还支持添加和维护自己的配方库
准备
老苏尝试过使用局域网 IP
访问,但是会卡在登录界面
[b8d2b910-580c-4562-a929-55e58b9435a7] Parameters: {"authenticity_token" => "[FILTERED]", "username" => "admin", "password" => "[FILTERED]", "commit" => "Sign in"}
[b8d2b910-580c-4562-a929-55e58b9435a7] Can't verify CSRF token authenticity.
[b8d2b910-580c-4562-a929-55e58b9435a7] Redirected to http://192.168.0.197:3745/
所以要先准备好域名,老苏用 Nginx Proxy Manager
做反代处理
域名 | 局域网地址 | 备注 |
---|---|---|
https://barkeep.laosu.tech | http://192.168.0.197:3745 | barkeep 的访问地址 |
其中:
192.168.0.197
为群晖的IP
;3745
是准备分配给BarKeep
的端口;
安装
在群晖上以 Docker 方式安装。
本文写作时,
latest
版本对应为v0.2.4
;
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷。
# 新建文件夹 barkeep 和 子目录
mkdir -p /volume1/docker/barkeep/storage
# 进入 barkeep 目录
cd /volume1/docker/barkeep
# 运行容器
docker run -d \
--name barkeep \
-p 3745:3000 \
-v $(pwd)/storage:/app/storage \
-e SECRET_KEY_BASE=5e209fd838b370ea4faa2de4948f0c0a29b4e0a29ab30b25e31a96b1b5b54beb9fcdd0cb7528a33292b0753e5eae3e73ff0139e5d16c0276411b4d4ce81f1d7c \
-e ALLOWED_HOST=barkeep.laosu.tech \
-e FORCE_SSL=true \
-e SEED_DATABASE=true \
ghcr.io/nckslvrmn/bar_keep:latest
关于环境变量的详细说明
环境变量 | 描述 |
---|---|
SECRET_KEY_BASE | 必需! 通过运行 docker run --rm bar_keep:latest rails secret 生成。用于加密和安全性。 |
RAILS_ENV | 设置为 production 用于生产部署(默认值为 production )。 |
RAILS_MAX_THREADS | 线程数量(默认值为 5 )。 |
FORCE_SSL | 设置为 false 以禁用 SSL ,适用于本地测试或在代理后托管时。 |
ALLOWED_HOST | 接受请求的主机名(默认值为 localhost )。在生产环境中设置为你的域名。 |
SEED_DATABASE | 设置为 "true" 以在生产中填充数据库(可选)。 |
docker-compose 安装
该项目官方推荐使用 docker-compose
进行安装。将下面的内容保存为 docker-compose.yml
文件。
version: '3.8'
services:
app:
image: ghcr.io/nckslvrmn/bar_keep:latest
container_name: barkeep
ports:
- "3745:3000"
volumes:
- ./storage:/app/storage
environment:
- RAILS_ENV=production
- SECRET_KEY_BASE=5e209fd838b370ea4faa2de4948f0c0a29b4e0a29ab30b25e31a96b1b5b54beb9fcdd0cb7528a33292b0753e5eae3e73ff0139e5d16c0276411b4d4ce81f1d7c
- ALLOWED_HOST=barkeep.laosu.tech
- FORCE_SSL=true
- SEED_DATABASE=true
然后执行下面的命令
# 新建文件夹 barkeep 和 子目录
mkdir -p /volume1/docker/barkeep/storage
# 进入 barkeep 目录
cd /volume1/docker/barkeep
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入反代的域名,例如: https://barkeep.laosu.tech
就能看到登录界面。
使用系统默认的账号密码登录,登录之后记得改密码
- Username:
admin
- Password:
changeme123
可惜不支持多语言,只能用翻译插件了
添加第一件物品
输入物品信息
添加成功后
随便加了几样
支持多种筛选,包括显示缺货
参考文档
nckslvrmn/bar_keep: A simple inventory manager for your home bar
地址:https://github.com/nckslvrmn/bar_keep