快看,这里有300多款正宗斯拉夫鸡尾酒调制手册,利用NAS部署一套酒吧管理系统
大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~
前言
大家有没有开酒吧的梦想?
在Cherry还小的时候,家里亲戚开过一段时间的酒吧,那时候每天放学就会去酒吧喝点饮料,看着大哥哥、大姐姐们在酒吧里跳舞,听着酒吧的音乐,总是不自觉地认为自己要是能开一家酒吧多好。后来,在抛弃这些不切实际的想法后,又迷上了调酒这个职业,因为觉得够帅。
当然,这一切都没实现,毕竟Cherry不喝酒~
今天为大家介绍的这款项目厉害了,斯拉夫人开发的酒吧管理项目(没错,竟然不是毛子,差评),该项目集成了303款作者收集到的鸡尾酒调制方法,从外观、成分、顺序、配比等都给出了详细的方案,可以说是有手就能调系列。
项目地址:https://github.com/karlomikus/bar-assistant
项目特性
-包括300多种鸡尾酒配方,并附有详细信息,包括150多种基本成分。
-添加和管理多个酒吧和酒吧成员,使用用户角色进行细粒度用户控制
-用于管理和过滤配料和鸡尾酒的端点
-按ABV、基本成分、标签等过滤食谱
-根据你是否有正确的成分过滤食谱
-详细的鸡尾酒和成分信息
-支持将多个图像分配给资源和图像排序
-根据库存中缺少的成分生成购物清单
-使用Meilisearch自动索引数据
-支持定制鸡尾酒配料替代品
-支持玻璃类型、器皿、标签、成分类别等
-通过URL、JSON、YAML或自定义集合导入鸡尾酒配方
-支持鸡尾酒评级
-创建特定于用户的鸡尾酒收藏,便于参考和分享
-支持鸡尾酒和配料注释
-支持通过公共链接共享食谱,自定义食谱图像和打印
-创建公共栏菜单
-使用用户设置的自定义权限管理自定义API个人访问令牌
-关于食谱和用户口味的详细统计数据
系统部署
🤩本项目使用docker-compose和SSH部署,需要一定技术能力。
一、下载代码
通过finalshell等ssh工具访问nas,这里路径以/volume1/docker/bar为例,然后以此输入以下指令,生成3个文件。
mkdir -p /volume1/docker/bar && cd /volume1/docker/bar
touch {nginx.conf,.env,docker-compose.yml}

二、修改代码
🔻将以下代码复制到 nginx.conf 文件中,这些代码完全不用改动
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:3000/;
}
location /search/ {
proxy_pass http://meilisearch:7700/;
}
location / {
proxy_pass http://salt-rim:8080/;
}
}
🔻将以下代码复制到 .env 文件中,改动第二行
MEILI_MASTER_KEY=masterKey-make-it-long-for-security
BASE_URL=http://localhost:3000 #这里要改为实际访问的地址,如http://192.168.1.1:1234
MEILISEARCH_URL=${BASE_URL}/search
API_URL=${BASE_URL}/bar
🔻将以下代码复制到 docker-compose.yml 文件中,只需要改动倒数第7行的端口
version: "3"
services:
meilisearch:
image: getmeili/meilisearch:v1.4 #
environment:
- MEILI_MASTER_KEY=$MEILI_MASTER_KEY
- MEILI_ENV=production
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7700"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- meilisearch_data:/meili_data
redis:
image: redis
environment:
- ALLOW_EMPTY_PASSWORD=yes
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 1s
timeout: 3s
retries: 30
bar-assistant:
image: barassistant/server:v3
depends_on:
meilisearch:
condition: service_healthy
redis:
condition: service_healthy
environment:
# - PUID=1000 # Optional
# - PGID=1000 # Optional
- APP_URL=$API_URL
- LOG_CHANNEL=stderr #
- MEILISEARCH_KEY=$MEILI_MASTER_KEY
- MEILISEARCH_HOST=http://meilisearch:7700 #
- REDIS_HOST=redis #
- ALLOW_REGISTRATION=true # 这个改成false就可以禁止用户注册
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- bar_data:/var/www/cocktails/storage/bar-assistant
salt-rim:
image: barassistant/salt-rim:v2
depends_on:
bar-assistant:
condition: service_healthy
environment:
- API_URL=$API_URL
- MEILISEARCH_URL=$MEILISEARCH_URL
- BAR_NAME=$BAR_NAME
- DESCRIPTION=$BAR_DESCRIPTION
- DEFAULT_LOCALE=en-US
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080"]
interval: 10s
timeout: 5s
retries: 5
webserver:
image: nginx:alpine
restart: unless-stopped
depends_on:
bar-assistant:
condition: service_healthy
salt-rim:
condition: service_healthy
meilisearch:
condition: service_healthy
ports:
- 1234:3000 # 这里是唯一需要改动的,在.env里端口是多少,这里就是多少
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf #
volumes:
bar_data:
meilisearch_data:
三、启动项目
依旧在ssh界面,输入以下指令
docker-compose up -d
系统使用
一、注册管理员并登录
如果安装成功,下方打码的地方可以看到版本号

二、管理酒吧,我们开几家店合适?
来先新建一个酒吧,圆一圆曾经的梦!点击右上角的【Create Bar】

填入酒吧名称、介绍、描述等信息即可保存,必填项只有一个名字

除了新建酒吧以外,我们还可以通过邀请码加入别人的酒吧。让别的酒吧老板点击酒吧下的【Toggle invite code】,然后我们在【Join a bar】处填入即可加入。

三、酒吧套餐来了,300+种调酒配方
先看看酒吧有多少种酒吧,满打满算303种,全部都是配餐完成的,拿来就用。如果不够用,我们还可以通过添加配比、流程的方式自定义鸡尾酒套餐。

这里是我们的酒吧调制首页,所有的配方、原料、清单都可以看到

左侧我们随便点击一个菜单进去,看看这配图,看看这配比,看看这操作顺序,绝了。我的脑子已经学会了!


四、酒吧原料管理,进出货都不可少
在【Ingredients】里,我们可以查阅和维护所有的原料,还可以进行进货单管理、打印。

五、酒吧菜单一键生成,格调拉满
相比于点二维码下单,酒吧可不兴整着一套对吧,弄个电子屏,随时更新菜单,拉满格调。我们可以在菜单栏里随意生成单个、多个鸡尾酒套餐,并设置价格。

通过二维码或者网址,可以直观的展示出所有的组合价格。

我的NAS推荐
这里简单介绍一下Cherry日常使用的几台NAS,以及为何选择这些NAS。
核心设备——群晖 DS920
这是Cherry第一台NAS,服役了好多年了,经典的J4125cpu+24G内存,搭配517实现9块18T盘塞满,主要用来玩玩PT的,日常使用的docker和个人资料,基本都存放在这里,因此也是Cherry感情最深的一台设备,但是J4125的性能瓶颈就在这里,容器多了cpu常年90%徘徊,在部署新项目的时候特别不方便。
当然,对于出入门的同学,920不管是价格还是性能都已经不算好的了,可以尝试2盘位的224+,也期待今年有新的NAS问世。
二代目核心设备——威联通QNAP TS-464C2
正因为前面提到群晖920服役时间过长问题,Cherry在入手了一台N5105的软路由后,又将目光看向了搭配同时期N5095的QNAP TS-464C2,作为NAS届的常青树,QNAP的系统其实一直是Cherry所喜爱的,相比于群晖,威联通的系统更值得深入使用和思考,功能点更丰满。
家庭成员利器——绿联DX4600pro
在家庭成员使用过程中,操作更简单,面向群众基础更广的绿联私有云映入眼帘。父母通过APP方式直接上传备份一些教研资料和照片十分方便,同时通过自带的有声书app还能让父母闲暇之余听听小说之类。
生产NAS——自建Unraid
回到项目生产中,考虑在项目部署过程中,经常会出现启动错误、容器异常、版本迭代等问题,这些问题统统需要强大的cpu和多线程来解决,因此就使用双路洋垃圾组建了一台unraid,用于生产环境使用,也是我的项目部署主力机。


欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

allen2063
校验提示文案
我是四海飘零
校验提示文案
Aresgo
校验提示文案
爱生活也爱数码
校验提示文案
向往自由的蛙
校验提示文案
懒人小兰
校验提示文案
林溪风
校验提示文案
神秘消逝
校验提示文案
ccc333ccc
校验提示文案
潮玩情报官
校验提示文案
Timeow
校验提示文案
米粒妹妹小月
校验提示文案
疯爆银熊
校验提示文案
向往自由的蛙
校验提示文案
爱生活也爱数码
校验提示文案
懒人小兰
校验提示文案
疯爆银熊
校验提示文案
米粒妹妹小月
校验提示文案
ccc333ccc
校验提示文案
Timeow
校验提示文案
allen2063
校验提示文案
潮玩情报官
校验提示文案
神秘消逝
校验提示文案
Aresgo
校验提示文案
我是四海飘零
校验提示文案
林溪风
校验提示文案