家庭酒吧一体化解决方案Bar Assistant

在这里插入图片描述

什么是 Bar Assistant ?

Bar Assistant 是一个用于管理家庭酒吧的自托管应用程序。它允许您添加配料、搜索鸡尾酒和创建自定义鸡尾酒配方。是您所有最爱鸡尾酒配方和饮品的新家。

软件功能:

  • 包含超过 300 个鸡尾酒配方,附带详细信息
  • 包含超过 150 种基础成分,按类别分类
  • 添加和管理多个酒吧及酒吧成员
  • 细粒度用户控制,支持用户角色
  • 端点用于管理和过滤成分及鸡尾酒
  • ABV、基础成分、标签等过滤配方
  • 根据您是否拥有正确成分来过滤配方
  • 提供详细的鸡尾酒和成分信息
  • 支持为资源分配多个图像及图像排序
  • 根据您库存中的缺失成分生成购物清单
  • 使用 Meilisearch 自动索引数据
  • 支持自定义鸡尾酒成分替代品
  • 支持玻璃类型、器具、标签、成分类别等
  • 通过 URLJSONYAML 或自定义收藏导入鸡尾酒配方
  • 支持鸡尾酒评分
  • 创建用户特定的鸡尾酒收藏,便于引用和分享
  • 支持鸡尾酒和成分备注
  • 支持通过公共链接、自定义配方图像和打印分享配方
  • 创建公共酒吧菜单
  • 管理自定义 API 个人访问令牌,用户可设置自定义权限
  • 提供关于配方和用户口味的详细统计信息

构建镜像

官方提供了镜像,不过虽然支持多语言,但没有中文,所以老苏机翻之后,重新编译了一下镜像。

有几点需要说明一下:

  1. 老苏的英文很菜,用的是机翻,所以没有提交给官方的翻译计划;
  2. 翻译的是客户端,后续服务升级后,如果不配套,需要自己编译或者改用官方的客户端镜像;
  3. 老苏原本是想增加一种语言的,但弄不来,最后是用德语当中文用的;

构建镜像和容器运行的基本命令如下👇

# 下载代码
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_KEYMeilisearch 的主密钥
BASE_URL应用程序的基本 URL,这是外部的可访问地址
MEILISEARCH_URLMeilisearch 服务器实例的 URL,保持默认即可
API_URLAPI 服务器实例的 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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值