本内容來源于@什麼值得買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軟體、遊戲與生活相關内容,喜歡的朋友請關注、點贊、留言支援。
本文收錄在值得買 「優質内容激勵計劃·每周精選」,點選了解計劃詳情>>>
作者聲明本文無利益相關,歡迎值友理性交流,和諧讨論~