家庭酒吧的简单库存管理BarKeep

简介

什么是 BarKeep ?

BarKeep 是一个使用 Ruby on Rails 构建的现代化酒吧库存管理系统。无论你是一个专业的调酒师,还是一个鸡尾酒爱好者,它都能帮你轻松追踪所有饮料、配料和用品。

主要特点

  • 📦 库存管理- 追踪所有饮料、配料和供应品
  • 📸 图片支持- 上传并显示产品图片
  • 🏷️ 类别系统- 通过灵活的分类来组织项目
  • 🚨 库存警报- 自动发出低库存和缺货通知
  • 🔍 智能过滤- 按名称、类别、类型和库存状态搜索和过滤
  • 📊 补货仪表板- 需要关注的商品的专用视图
  • 🔐 用户认证- 具有会话管理的安全登录系统
  • 🌙 深色主题- 赏心悦目的现代深色用户界面

应用场景

  • 家庭吧台管理: 对于喜欢在家调制鸡尾酒的爱好者来说,可以轻松管理自己的酒水和配料库存。
  • 小型酒吧: 小型酒吧或餐厅可以使用它来简化库存管理流程。
  • 活动策划: 为派对或活动策划酒水单时,可以清晰地了解需要采购的物品。

Bar Keep 和老苏之前介绍的 Bar Assistant 不一样,Bar Keep 侧重于简单的库存管理,而 Bar Assistant 除了库存,还支持添加和维护自己的配方库

传送门:家庭酒吧一体化解决方案Bar Assistant

准备

老苏尝试过使用局域网 IP 访问,但是会卡在登录界面

1
2
3
[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 更快捷。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 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 文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

然后执行下面的命令

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

# 进入 barkeep 目录
cd /volume1/docker/barkeep

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入反代的域名,例如: https://barkeep.laosu.tech 就能看到登录界面。

使用系统默认的账号密码登录,登录之后记得改密码

  • Usernameadmin
  • Passwordchangeme123

可惜不支持多语言,只能用翻译插件了

添加第一件物品

输入物品信息

添加成功后

随便加了几样

支持多种筛选,包括显示缺货

参考文档

nckslvrmn/bar_keep: A simple inventory manager for your home bar
地址:https://github.com/nckslvrmn/bar_keep