食谱管理和餐饮计划应用Mealie

在这里插入图片描述

放假除了休闲娱乐,也不能忘了美食

什么是 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 支持 SQLitePostgreSQL 两种数据库,官方推荐的是 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
可变缺省值描述
PUID911主机操作系统和容器之间的 UserID 权限
PGID911主机操作系统和容器之间的 GroupID 权限
ALLOW_SIGNUPtrue允许用户无需令牌即可注册
TZUTC必须设置为在服务器上获取正确的日期/时间
MAX_WORKERS置要使用的最大 workers 数量。默认未设置意味着无限制
WEB_CONCURRENCY2覆盖 workers 数量的自动定义
BASE_URLhttp://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 的网站很多,你可以在👇这些网站上找到各种美食食谱

以下站点由人工智能推荐,并未一一验证,主要原因就是看不懂 😂

  1. Allrecipes(https://www.allrecipes.com):Allrecipes 是一个知名的美食社区网站,提供了大量的食谱和烹饪教程。它支持食谱的标记和搜索,并提供方便的筛选和分类功能。

  2. Food Network(https://www.foodnetwork.com):Food Network 是一个专注于美食和烹饪的媒体平台。它提供了丰富的食谱资源,并支持使用标记语言进行食谱的展示和搜索。

  3. Epicurious(https://www.epicurious.com):Epicurious 是一个专注于食谱和烹饪的网站,提供了各种美食食谱和烹饪技巧。它支持使用标记语言编写和展示食谱。

  4. 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格式,但它们提供了大量的中文食谱内容,大家学起来吧

  1. 下厨房(https://www.xiachufang.com):这是一个非常受欢迎的中文食谱分享网站,提供了大量的中文食谱和烹饪技巧。

  2. 美食杰(https://www.meishij.net):这个网站也是一个流行的中文食谱平台,用户可以搜索和分享各种菜谱。

  3. 中华菜谱网(https://www.food365.com.cn]):这是一个专注于中华菜系的食谱网站,提供了丰富的中文食谱和烹饪技巧。

  4. 美食圈(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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661385.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AC+AP三层组网实验(华为)

一,技术简介 APAC架构是一种常见的无线局域网(WLAN)组网方式,主要由接入点(Access Point,简称AP)和接入控制器(Access Controller,简称AC)组成。 在APAC架构…

面试常见 | 项目上没有亮点,如何包装?

很多技术人在公司用的老技术,而且很多都是搬业务代码且做枯燥乏味的CRUD,在面试提交简历或做自我介绍的时候并不突出,这种情况,如何破局? 首先不管你做的啥项目,全世界不可能只有你自己在做,比…

变电站综合自动化系统:Modbus-PLC-645转IEC104网关方案

前言 电力行业作为关系国计民生的重要基础产业,是关系千家万户的公用事业。但是要做好电力行业安全保障工作的前提,是需要对应的技术人员详细了解电力工业使用的系统、设备以及各类协议的安全特性,本文将主要介绍IEC 104协议的定义和钡铼技术…

关于配置nginx 代理去掉location 匹配的上下文规则

事情是这样的,有个需求,就是在本系统准备把所有的api 请求放到webman 框架 然后把后台的业务依然保留在fastadmin 框架, 打算加一个反向代理,用同一个域名的加上一个访问后缀,放到到webman 服务,也就是本…

Spring Security介绍(三)过滤器(2)自定义

除了使用security自带的过滤器链,我们还可以自定义过滤器拦截器。 下面看下自定义的和security自带的执行顺序。 一、总结 1、自定义过滤器: 一般自定义fliter都是: import lombok.extern.slf4j.Slf4j; import org.springframework.ster…

3.C++动态内存管理(超全)

目录 1 .C/C 内存分布 2. C语言中动态内存管理方式:malloc/calloc/realloc/free 3. C内存管理方式 3.1 new/delete操作内置类型 3.2 new和delete操作自定义类型 3.3 operator new函数 3.4 定位new表达式(placement-new) (了解) 4. 常…

nginx配置ip_hash负载均衡策略

一、nginx配置ip_hash负载均衡策略 nginx默认的负载均衡策略为轮询,某些场景需要使用ip_hash负载策略,即:同一个ip地址,永远访问nginx后面同一台tomcat。配置示例如下,主要是设置ip_hash: upstream www.ab…

【PCB专题】案例:PCB出货报告会体现什么信息?

不知道在实际的生活中大家有没有拿到一个设备或东西看用户手册的习惯。比如拿到一个电风扇看一下说明书怎么使用,怎么安装,怎么做维护等。 一般情况下我拿到东西会先抽一点时间看一下用户手册学习如何使用,如果说明书比较重要的话会保留起来。本文章其实就是PCB打样后供应商…

ES集群分布式查询原理

集群分布式查询 elasticsearch的查询分成两个阶段: scatter phase:分散阶段,coordinating node会把请求分发到每一个分片gather phase:聚集阶段,coordinating node汇总data node的搜索结果,并处理为最终结…

Avalonia .NET构建Linux桌面应用

目录 👻前言 💻安装Avalonia 📦创建项目 📚在win下运行 ​🔑打包发布​编辑 📻在linux下运行 环境WIN10 VS2022 debian 👻前言 Avalonia 是一个用于创建跨平台用户界面 (UI) 的开源框架…

QT之信号和槽

在刚刚了解Qt的时候,为了通过按钮显示 hello world 的时候曾说明过信号与槽,虽然没有细说,不过也算是接触过。 而本文就会细细说明什么是 Qt 的信号与槽。 概念初识 在 linux 学进程相关的内容的时候,曾了解过信号是操作系统控…

数据仓库和数据仓库分层

一、数据仓库概念 数据仓库(Data Warehouse),可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业&#…