什么是 Bar Assistant ?
Bar Assistant
是一个用于管理家庭酒吧的自托管应用程序。它允许您添加配料、搜索鸡尾酒和创建自定义鸡尾酒配方。是您所有最爱鸡尾酒配方和饮品的新家。
软件功能:
- 包含超过
300
个鸡尾酒配方,附带详细信息 - 包含超过
150
种基础成分,按类别分类 - 添加和管理多个酒吧及酒吧成员
- 细粒度用户控制,支持用户角色
- 端点用于管理和过滤成分及鸡尾酒
- 按
ABV
、基础成分、标签等过滤配方 - 根据您是否拥有正确成分来过滤配方
- 提供详细的鸡尾酒和成分信息
- 支持为资源分配多个图像及图像排序
- 根据您库存中的缺失成分生成购物清单
- 使用
Meilisearch
自动索引数据 - 支持自定义鸡尾酒成分替代品
- 支持玻璃类型、器具、标签、成分类别等
- 通过
URL
、JSON
、YAML
或自定义收藏导入鸡尾酒配方 - 支持鸡尾酒评分
- 创建用户特定的鸡尾酒收藏,便于引用和分享
- 支持鸡尾酒和成分备注
- 支持通过公共链接、自定义配方图像和打印分享配方
- 创建公共酒吧菜单
- 管理自定义
API
个人访问令牌,用户可设置自定义权限 - 提供关于配方和用户口味的详细统计信息
构建镜像
官方提供了镜像,不过虽然支持多语言,但没有中文,所以老苏机翻之后,重新编译了一下镜像。
有几点需要说明一下:
- 老苏的英文很菜,用的是机翻,所以没有提交给官方的翻译计划;
- 翻译的是客户端,后续服务升级后,如果不配套,需要自己编译或者改用官方的客户端镜像;
- 老苏原本是想增加一种语言的,但弄不来,最后是用德语当中文用的;
构建镜像和容器运行的基本命令如下👇
# 下载代码
git clone https://github.com/karlomikus/vue-salt-rim.git
# 进入目录
cd vue-salt-rim
# 将 Dockerfile 放入当前目录
# 构建镜像
docker build -t wbsu2003/salt-rim:v3 .
# 将 zh-CN.json 放入/src/locales/messages/ 目录
# 修改 de-DE.js,将指向了 de-DE.json 改为了 zh-CN.json
# 运行容器
docker run -d \
--name salt-rim \
-e API_URL=http://your-bar-assistant-url \
-e MEILISEARCH_URL=http://your-meilisearch-url \
-p 8080:8080 \
wbsu2003/salt-rim:v3
为了省事,修改了
de-DE.js
安装
在群晖上以 Docker 方式安装。
采用 docker-compose
安装,需要先准备好几个安装文件
env.tx
env.txt
是环境变量设置
# Your Meilisearch master key
# Find out more here: https://docs.meilisearch.com/learn/getting_started/quick_start.html#securing-meilisearch
MEILI_MASTER_KEY=masterKey-make-it-long-for-security
# Base URL of the application
# You should update this value to the URL you plan to use (ex: http://192.168.100.100, https://my-personal-bar.com)
# The value MUST be without trailing slash
BASE_URL=http://192.168.0.197:3652
# Meilisearch server instance URL, change if you are using different host from base url, otherwise leave as default
MEILISEARCH_URL=${BASE_URL}/search
# Bar Assistant server instance URL, change if you are using different host from base url, otherwise leave as default
API_URL=${BASE_URL}/bar
其中
192.168.0.197
为群晖主机的IP
可变 | 值 |
---|---|
MEILI_MASTER_KEY | Meilisearch 的主密钥 |
BASE_URL | 应用程序的基本 URL ,这是外部的可访问地址 |
MEILISEARCH_URL | Meilisearch 服务器实例的 URL ,保持默认即可 |
API_URL | API 服务器实例的 URL ,保持默认即可 |
nginx.conf
理论上 nginx.conf
不用做任何修改,这是 nginx
的配置文件
server {
listen 3000 default_server;
listen [::]:3000 default_server;
server_name _;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
client_max_body_size 100M;
location /bar/ {
proxy_pass http://bar-assistant:8080/;
}
location /search/ {
proxy_pass http://meilisearch:7700/;
}
location / {
proxy_pass http://salt-rim:8080/;
}
}
docker-compose.yml
如果你要用官方的镜像,请取消
image: barassistant/salt-rim:v3
的注释,同时将image: wbsu2003/salt-rim:v3
注释掉
version: '3'
services:
meilisearch:
image: getmeili/meilisearch:v1.8 # Never use latest tag
container_name: barassistant-meilisearch
environment:
- MEILI_MASTER_KEY=$MEILI_MASTER_KEY
- MEILI_ENV=production
restart: unless-stopped
volumes:
- ./mdata:/meili_data
# Optional, but recommended
redis:
image: redis
container_name: barassistant-redis
environment:
- ALLOW_EMPTY_PASSWORD=yes
restart: unless-stopped
bar-assistant:
image: barassistant/server:v4
container_name: barassistant-app
depends_on:
- meilisearch
- redis # Remove if not using redis
environment:
- APP_URL=$API_URL
- MEILISEARCH_KEY=$MEILI_MASTER_KEY
- MEILISEARCH_HOST=http://meilisearch:7700 # This needs to be host that can be resolved from inside the container.
- REDIS_HOST=redis # Remove if not using redis
- CACHE_DRIVER=redis # Change to "file" if not using redis
- SESSION_DRIVER=redis # Change to "file" if not using redis
- ALLOW_REGISTRATION=true
restart: unless-stopped
volumes:
- ./bdata:/var/www/cocktails/storage/bar-assistant
salt-rim:
# image: barassistant/salt-rim:v3
image: wbsu2003/salt-rim:v3
container_name: barassistant-salt-rim
depends_on:
- bar-assistant
environment:
- API_URL=$API_URL
- MEILISEARCH_URL=$MEILISEARCH_URL
restart: unless-stopped
# Reverse proxy all web services
# You can remove this service if you already have a reverse proxy somewhere in your stack,
# but you will need to manually setup the configuration
# Check included nginx.conf for reference
webserver:
image: nginx:alpine
container_name: barassistant-web
restart: unless-stopped
depends_on:
- bar-assistant
- salt-rim
- meilisearch
ports:
- 3652:3000
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
然后执行下面的命令
# 新建文件夹 barassistant 和 子目录
mkdir -p /volume1/docker/barassistant/{bdata,mdata}
# 进入 barassistant 目录
cd /volume1/docker/barassistant
# 修改目录权限
chmod a+w bdata
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose --env-file env.txt up -d
运行
在浏览器中输入 http://群晖IP:3652
就能看到登录界面
第一次需要注册账号
登录后的主界面
汉化
右上角 User
--> Profile
--> Language
默认没有中文选项
如果你安装时使用了老苏编译的镜像 wbsu2003/salt-rim:v3
,可以选择 German
,保存之后,就变成了中文界面了
使用
创建一个酒吧
起个名字
保存之后,你就有一个酒吧了
进入酒吧
有兴趣的可以装一个研究研究
参考文档
karlomikus/bar-assistant: Bar assistant is a self hosted application for managing your home bar.
地址:https://github.com/karlomikus/bar-assistant
karlomikus/vue-salt-rim: Salt Rim is a Vue based web client used for connecting to Bar Assistant server instance.
地址:https://github.com/karlomikus/vue-salt-rim
All-in-one solution for managing your home bar · Bar Assistant
地址:https://barassistant.app/
Bar Assistant
地址:https://docs.barassistant.app/