百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

看,这里有300款斯拉夫鸡尾酒手册,利用NAS部署一套酒吧管理系统

mhr18 2024-12-14 11:11 20 浏览 0 评论

本内容来源于@什么值得买APP,观点仅代表作者本人 |作者:可爱的小cherry



大家好,这里是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软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

本文收录在值得买 「优质内容激励计划·每周精选」,点击了解计划详情>>>

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~




相关推荐

软考架构师-案例分析之Redis(软考架构师真题)

软考架构师考试中,Redis的知识考了很多回,从最近几年来看,案例分析经常考,有的时候单独考,有的时候和其他知识点一起考。Redis过往的考试中,考过的知识如下:1、Redis特点,涉及数据类型、持久...

揭秘:视频播放网站如何精准记录用户观看进度

在互联网蓬勃发展的当下,视频内容已毫无争议地成为人们获取信息、享受娱乐休闲时光的核心方式。据权威数据统计,全球每天有数十亿小时的视频被观看,视频流量在网络总流量中的占比逐年攀升,预计在未来几年内将超过...

量子级一致性!Flink+Redis全局状态管理

百万级实时计算任务如何实现亚毫秒级状态访问?本文揭秘Flink+Redis的量子纠缠态状态管理方案,将状态延迟降至0.3ms。引子:实时风控系统的量子跃迁//传统Flink状态管理(基于RocksD...

在 Mac 上运行 Redis 的 Docker 容器

在Mac上运行Redis的Docker容器,你可以按以下步骤操作,非常简单高效:一、前提要求已安装DockerDesktopforMac可通过终端验证Docker是否可用:d...

从 0 到 1:使用 Nginx + Lua 打造高性能 Web 网关

在大规模分布式架构中,Web网关扮演着重要角色,负责请求转发、负载均衡、限流、认证等功能。而Nginx+Lua结合可以提供:o高性能:Nginx是目前最流行的高性能Web服务器o动...

外贸独立站缓存设置黑科技:用错Redis比没缓存更致命

上周帮一个杭州卖家排查网站崩溃问题,发现这老铁把Redis缓存设置成128MB还开着持久化,服务器内存直接炸得比春节红包还彻底——"你这哪是缓存啊,根本是DDoS攻击自己!"最近Clo...

Spring Boot3 整合 Redis,这些缓存注解你真的会用吗?

你在开发SpringBoot3项目时,有没有遇到过这样的困扰?随着项目功能不断增加,数据量逐渐庞大,接口响应速度变得越来越慢,用户体验直线下降。好不容易找到优化方向——引入Redis缓存...

MySQL处理并发访问和高负载的关键技术和策略

MySQL处理并发访问和高负载的关键技术和策略主要包括以下几个方面:一、硬件优化1.CPU:提升CPU处理能力可以明显改善并发处理性能。根据数据库负载,考虑使用更多的CPU核心。2.内存:增加内存可以...

druid解决高并发的数据库(druid多数据源配置 spring boot)

处理高并发的时候可以解决我们java一个核心问题java核心问题就是并发问题解决并发一个是redis一个是线程池的方式现在出来是个druid好像现在解决高并发的方式进行更换数据库的方式操作场景插入频繁...

高并发方案最全详解(8大常见方案)

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen睿哥。高并发是大型架构的核心,下面我重点来详解常见8大高并发方案@mikechen文章来源:mikechen.cc分...

MySQL如何处理并发访问和高负载?(mysql如何处理并发访问和高负载访问)

MySQL在处理并发访问和高负载方面,采取了一系列关键技术和策略,以确保数据库系统在面对不断增长的并发需求时维持高效和稳定的性能。以下是对这些技术和策略的详细阐述,旨在全面解析MySQL如何处理并发访...

Redis高可用集群详解(redis高可用方案以及优缺点)

Redis集群与哨兵架构对比Redis哨兵架构在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具监控master节点状态,如果master节点异常,则会做主从切换,将某一台sla...

MCP协议重大升级!Spring AI联合阿里Higress,性能提升300%

引言:一场颠覆AI通信的技术革命2025年3月,MCP(ModelContextProtocol)协议迎来里程碑式升级——StreamableHTTP正式取代HTTP+SSE成为默认传输层。这一...

阿里三面被挂,幸获内推,历经5轮终于拿到口碑offer

作者:Java程序猿阿谷来源:https://www.jianshu.com/p/1c8271f03aa5每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例...

来瞧瞧阿里一面都面些什么(笔试+机试)

絮叨说实话,能有机会面一下阿里对我来说帮助确实有蛮多,至少让我知道了自己的不足在哪,都说面试造火箭,上班拧螺丝。但就算是如此,为了生存,你也只有不停的学习,唯有光头,才能更强。哈哈起因2月28日在Bo...

取消回复欢迎 发表评论: