放假除了休闲娱乐,也不能忘了美食
什么是 Mealie ?
Mealie
是一个自托管的食谱管理和餐饮计划应用,具有RestAPI
后端和基于Vue
构建的响应式前端应用,为整个家庭提供愉快的用户体验。通过提供URL
,您可以轻松将食谱添加到数据库中,Mealie
将自动导入相关数据;或者使用UI
编辑器添加家庭食谱。Mealie
还提供了一个API
,用于与第三方应用程序进行交互。
安装
ghcr.io 镜像下载
官方的镜像没有发布在 docker hub
,而是在 ghcr.io
,所以直接用命令行来安装。
本文写作时,
latest
对应的版本为v1.3.2
在 SSH
客户端中依次执行下面的命令
# 下载镜像
docker pull ghcr.io/mealie-recipes/mealie:latest
如果没有科学上网,很可能会拉不动,可以试试 docker
代理网站:https://dockerproxy.com/,但是会多几个步骤
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/mealie-recipes/mealie:latest# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/mealie-recipes/mealie:latest ghcr.io/mealie-recipes/mealie:latest# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/mealie-recipes/mealie:latest
当然代理网站也不是什么时候都好使,有时候也会报错,例如下面👇这样的
Error response from daemon: received unexpected HTTP status: 500 Internal Server Error
所以有一个稳定的科学上网环境还是很重要的
docker cli 安装
Mealie
支持 SQLite
和 PostgreSQL
两种数据库,官方推荐的是 SQLite
,当然如果你的用户超过 20
人时,PostgreSQL
支持更多的并发用户
# 新建文件夹 mealie 和 子目录
mkdir -p /volume1/docker/mealie/data# 进入 mealie 目录
cd /volume1/docker/mealie# 运行容器
docker run -d \--restart unless-stopped \--name mealie \--memory=1000M \-p 9925:9000 \-v $(pwd)/data:/app/data/ \-e ALLOW_SIGNUP=true \-e PUID=1000 \-e PGID=1000 \-e TZ=Asia/Shanghai \-e MAX_WORKERS=1 \-e WEB_CONCURRENCY=1 \-e BASE_URL=http://192.168.0.197:9925 \ghcr.io/mealie-recipes/mealie:latest
可变 | 缺省值 | 描述 |
---|---|---|
PUID | 911 | 主机操作系统和容器之间的 UserID 权限 |
PGID | 911 | 主机操作系统和容器之间的 GroupID 权限 |
ALLOW_SIGNUP | true | 允许用户无需令牌即可注册 |
TZ | UTC | 必须设置为在服务器上获取正确的日期/时间 |
MAX_WORKERS | 置要使用的最大 workers 数量。默认未设置意味着无限制 | |
WEB_CONCURRENCY | 2 | 覆盖 workers 数量的自动定义 |
BASE_URL | http://localhost:8080 | 用于通知 |
更多环境变量参数设置,请参考官方文档:https://docs.mealie.io/documentation/getting-started/installation/backend-config/
docker compose 安装
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: "3.7"services:mealie:image: ghcr.io/mealie-recipes/mealie:latestcontainer_name: mealierestart: alwaysports:- "9925:9000"deploy:resources:limits:memory: 1000Mvolumes:- ./data:/app/data/environment:# Set Backend ENV Variables Here- ALLOW_SIGNUP=true- PUID=1000- PGID=1000- TZ=Asia/Shanghai- MAX_WORKERS=1- WEB_CONCURRENCY=1- BASE_URL=http://192.168.0.197:9925
然后执行下面的命令
# 新建文件夹 mealie 和 子目录
mkdir -p /volume1/docker/mealie/data# 进入 mealie 目录
cd /volume1/docker/mealie# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d
运行
第一次启动的时间比较长
老苏的机器大约用了 4
分钟左右
当日志中看到 INFO: Uvicorn running on http://0.0.0.0:9000 (Press CTRL+C to quit)
时,在浏览器中输入 http://群晖IP:9925
就能看到主界面
第一次登陆,你可以选择注册账号,也可以用系统默认的
默认用户名:
changeme@example.com
,密码:MyPassword
登陆成功后的主界面
导入菜谱
在导入菜谱前,不得不提一下 RecipeML
什么是 RecipeML ?
RecipeML
是一种用于描述食谱(烹饪配方)的标记语言。它是一种基于XML
(可扩展标记语言)的语言,旨在提供一种结构化的方式来表示食谱的各个方面,例如食材、量词、烹饪步骤和时间等,方便食谱的存储、共享和利用。
国外支持 RecipeML
的网站很多,你可以在👇这些网站上找到各种美食食谱
以下站点由人工智能推荐,并未一一验证,主要原因就是看不懂 😂
-
Allrecipes
(https://www.allrecipes.com):Allrecipes
是一个知名的美食社区网站,提供了大量的食谱和烹饪教程。它支持食谱的标记和搜索,并提供方便的筛选和分类功能。 -
Food Network
(https://www.foodnetwork.com):Food Network
是一个专注于美食和烹饪的媒体平台。它提供了丰富的食谱资源,并支持使用标记语言进行食谱的展示和搜索。 -
Epicurious
(https://www.epicurious.com):Epicurious
是一个专注于食谱和烹饪的网站,提供了各种美食食谱和烹饪技巧。它支持使用标记语言编写和展示食谱。 -
Bon Appétit
(https://www.bonappetit.com):Bon Appétit
是一个美食杂志和网站,提供了丰富的食谱和烹饪内容。它支持使用自定义的标记语言来编写和展示食谱。
你可以在这些网站上搜索、浏览和分享各种美食食谱。老苏找了一篇 奶油烤土豆(Creamy au Gratin Potatoes)
,原文地址:https://www.allrecipes.com/recipe/15925/creamy-au-gratin-potatoes/
导入成功后,左侧是食材,右侧是步骤
手动创建
老苏没有找到中文支持 RecipeML
的网站,有知道的朋友给推荐一下。
中文的菜谱目前只能手动创建了
接下来按分类分别填写就可以了
保存即可,如果配上图片,看起来会养眼
让 AI
也推荐了几个中文网站,虽然不支持 RecipeML
格式,但它们提供了大量的中文食谱内容,大家学起来吧
-
下厨房(https://www.xiachufang.com):这是一个非常受欢迎的中文食谱分享网站,提供了大量的中文食谱和烹饪技巧。
-
美食杰(https://www.meishij.net):这个网站也是一个流行的中文食谱平台,用户可以搜索和分享各种菜谱。
-
中华菜谱网(https://www.food365.com.cn]):这是一个专注于中华菜系的食谱网站,提供了丰富的中文食谱和烹饪技巧。
-
美食圈(https://www.meishiq.com):这个网站是用来分享和浏览美食菜谱、获取美食资讯、交流美食圈子以及提供健康养生和厨房经验的。
参考文档
mealie-recipes/mealie: Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor
地址:https://github.com/mealie-recipes/mealie
Home - Mealie
地址:https://docs.mealie.io/