飞牛NAS部署 Mealie:食谱管理与菜单规划
你是否厌倦了在杂乱无章的收藏夹里翻找菜谱?或者在为“今晚吃什么”而烦恼?今天,我们将带你亲手在飞牛NAS上部署 Mealie——一款开源的食谱管理与菜单规划工具,它将彻底改变你的厨房生活。
Mealie 不仅支持导入主流食谱网站(如下厨房、Allrecipes)的链接,还能自动解析结构化数据。你可以创建私人食谱库、规划一周菜单、生成购物清单,甚至分享食谱给家人朋友。结合飞牛NAS的长期运行优势,你的食谱数据将安全地存储在家中的私有云上。
一、部署前的准备
在开始前,请确保你的飞牛NAS满足以下条件: - 已安装 Docker 环境(飞牛NAS自带 Docker 管理器)。 - 分配至少 2GB 内存和 20GB 存储空间(用于存储食谱图片和数据库)。 - 准备一个域名或固定IP(可选,用于外网访问,但非必须)。
我们将采用 Docker Compose 方式部署,这样更便于后期维护和配置调整。
二、创建项目目录与配置文件
首先,通过飞牛NAS的文件管理器或 SSH 终端,创建 Mealie 的专属目录:
# 在共享文件夹下创建 mealie 目录(路径可根据实际调整)
mkdir -p /volume1/docker/mealie
cd /volume1/docker/mealie
在目录中创建 docker-compose.yml 文件:
version: "3.8"
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:latest
container_name: mealie
ports:
- "9000:9000"
volumes:
- ./data:/app/data
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- MAX_WORKERS=1
- WEB_CONCURRENCY=1
restart: unless-stopped
关键配置说明:
- ports: 9000:9000:将容器内部端口映射到宿主机 9000 端口。若端口冲突,可改为其他值(如 9900:9000)。
- volumes:将容器内的数据目录挂载到宿主机 ./data 目录,确保重启后食谱数据不丢失。
- PUID/PGID:建议设置为飞牛NAS中你的管理员用户ID(可通过 id 命令查询),避免文件权限问题。
- MAX_WORKERS 和 WEB_CONCURRENCY:对于家庭NAS,1核足够,避免资源占用过高。
三、启动容器
在 docker-compose.yml 所在目录执行以下命令:
# 拉取镜像并启动容器
docker-compose up -d
首次运行会自动拉取镜像(约 300MB),请保持网络畅通。启动后,通过 docker ps 命令确认容器状态为 Up:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 mealie:latest "/init" 5 seconds ago Up 5 seconds 0.0.0.0:9000->9000/tcp mealie
四、初始化配置
打开浏览器,访问 http://你的飞牛NAS IP:9000。首次打开会进入初始化页面:
- 创建管理员账户:填写用户名、邮箱和密码。建议使用强密码。
- 语言设置:Mealie 支持多语言,在“用户设置”中可选择简体中文。
- 导入食谱:你可以通过以下方式添加食谱:
- 手动创建:逐项填写食谱名称、食材、步骤等。
- URL导入:粘贴食谱网站链接,Mealie 会自动解析大部分结构(如“下厨房”链接)。
- 批量导入:支持 JSON/YAML 格式导出文件。
小技巧:在“数据管理”中,你可以导出所有食谱为 JSON 文件,实现跨平台备份。
五、进阶功能配置
1. 菜单规划
进入“计划”页面,点击“创建新计划”。你可以: - 选择日期范围:规划未来一周或一月的菜单。 - 关联食谱:从你的食谱库中拖拽到对应日期。 - 生成购物清单:系统会自动汇总所选食谱的所有食材,并分类整理(如“蔬菜”“肉类”)。
2. 多用户协作
在“管理”->“用户”中,可以添加家庭成员账户。你可以为每个用户分配不同权限: - 阅读者:只能查看食谱和菜单。 - 贡献者:可以添加和编辑食谱。 - 管理员:拥有所有权限。
3. 外网访问(可选)
若需从外网访问 Mealie,请在飞牛NAS的“网络设置”中配置端口转发(如将公网IP的 9000 端口映射到内网 9000),或者使用域名绑定。建议搭配 HTTPS 使用,可在 Mealie 的 docker-compose.yml 中添加环境变量 SECRET_KEY 启用 SSL。
六、备份与恢复
Mealie 的数据全部存储在挂载目录 /app/data 中。你只需定期备份该目录:
# 备份命令示例(可写入 cron 定时任务)
tar -czf /volume1/backup/mealie_$(date +%Y%m%d).tar.gz /volume1/docker/mealie/data
恢复时,将备份文件解压到原目录,然后重启容器即可:
docker-compose restart
七、常见问题排查
Q:容器启动后无法访问?
A:检查防火墙是否开放 9000 端口,或尝试更换端口(如 9900:9000)后重新启动。
Q:导入食谱链接时提示“解析失败”? A:部分网站有反爬机制。可尝试手动复制食谱内容,通过“手动创建”方式添加。
Q:数据库报错?
A:删除 ./data 目录下的数据库文件(注意备份!),然后重启容器让 Mealie 重新初始化。
八、总结
通过以上步骤,你已经成功在飞牛NAS上部署了 Mealie。从今天起,你可以告别电子文档里杂乱的菜谱,用专业的工具管理你的美食库。无论是规划周末大餐,还是快速生成超市购物清单,Mealie 都能让一切井然有序。
如果你已经部署成功,不妨在评论区分享你的第一个导入的食谱——或者,更棒的是,分享你通过 Mealie 规划出的本周菜单!