Docker 玩法

飞牛NAS部署 Mealie:食谱管理与菜单规划

2026-07-30 2 admin

飞牛NAS部署 Mealie:食谱管理与菜单规划

在家庭NAS的众多玩法中,搭建一个专属的食谱管理系统往往被忽略,但却能极大提升生活品质。Mealie 是一款开源的食谱管理应用,支持从网页导入食谱、自动解析食材、生成购物清单,甚至规划每周菜单。本文将详细讲解如何在飞牛NAS(fnOS)上通过 Docker 部署 Mealie,并完成基础配置,让你告别零散的菜谱收藏,拥有一个条理清晰的私房菜数据库。

一、准备工作

开始部署前,请确保你的飞牛NAS已经满足以下条件:

  1. 系统版本:飞牛NAS系统版本为最新或至少支持 Docker 功能。
  2. 网络环境:NAS能够正常访问互联网,用于拉取 Docker 镜像。
  3. 存储路径:建议提前在文件管理器中创建一个专门存放 Mealie 数据的文件夹。例如,在 /vol1/1000/docker 下创建 mealie 文件夹,并在其下创建 databackups 两个子文件夹。路径可根据你的实际存储池调整,但建议统一管理。
  4. 端口规划:Mealie 默认使用 9000 端口,请确保该端口未被其他服务占用。如果冲突,可以修改为其他端口,比如 9001。

二、通过 Docker 部署 Mealie

飞牛NAS自带 Docker 管理界面,操作直观。但为了更清晰的配置和后续维护,我们推荐使用 Docker Compose 方式部署。

1. 使用 Docker Compose 部署(推荐)

首先,进入飞牛NAS的“文件管理器”,在刚才创建的 mealie 文件夹内,新建一个名为 docker-compose.yml 的文件。将以下内容粘贴进去:

version: '3.8'
services:
  mealie:
    image: ghcr.io/mealie-recipes/mealie:latest
    container_name: mealie
    restart: unless-stopped
    ports:
      - "9000:9000"  # 左侧为宿主机端口,可修改;右侧为容器内部端口,勿动
    volumes:
      - ./data:/app/data  # 数据持久化
      - ./backups:/app/backups  # 备份目录
    environment:
      # 基础配置
      - TZ=Asia/Shanghai  # 设置时区
      - PUID=1000  # 使用 admin 用户 ID (可在终端运行 id 命令查看)
      - PGID=1000  # 使用 admin 用户组 ID
      - MAX_WORKERS=1  # 低资源设备建议设为1
      - WEB_CONCURRENCY=1  # 并行进程数
      # 数据库配置 (使用内置 SQLite,适合家庭使用)
      - DB_ENGINE=sqlite
      # 可选:设置管理员密码,首次登录后建议修改
      # - [email protected]
      # - DEFAULT_PASSWORD=YourStrongPassword

关键参数说明

  • PUIDPGID:务必改为你飞牛NAS中 admin 用户的 ID。如果不确定,可以通过 SSH 终端运行 id admin 获取。这能确保容器内创建的文件拥有正确权限。
  • volumes:路径映射使用了相对路径 ./data,这表示数据会存放在 docker-compose.yml 文件所在的 mealie 文件夹内。如果你希望数据存放在其他绝对路径,请修改冒号左侧的路径,例如 /vol1/1000/docker/mealie/data:/app/data

保存文件后,打开飞牛NAS的“SSH终端”功能(或使用第三方SSH工具连接)。切换到 mealie 目录并启动服务:

cd /vol1/1000/docker/mealie
docker compose up -d

等待镜像拉取和容器启动,看到 done 或容器状态为 healthy 即可。

2. 使用飞牛NAS的 Docker 图形界面(备选)

如果你对命令行不熟悉,也可以在“应用中心”的“Docker”模块中操作。点击“镜像管理”,搜索 ghcr.io/mealie-recipes/mealie:latest 并拉取。然后创建一个容器,按以下设置:

  • 容器名称:mealie
  • 端口设置:本地端口 9000 映射到容器端口 9000
  • 存储卷设置:添加两个绑定挂载,将 mealie/data 挂载到 /app/data,将 mealie/backups 挂载到 /app/backups
  • 环境变量:添加 TZ=Asia/ShanghaiPUID=1000PGID=1000DB_ENGINE=sqlite,并勾选“自动重启”。

保存并启动容器即可。

三、初始化与基础设置

容器启动后,打开浏览器,输入 http://你的飞牛NAS的IP:9000。首次访问会进入初始化页面。

  1. 创建管理员账户:填写你的姓名、邮箱和密码。请务必牢记此信息。
  2. 进入主界面:登录后,你会看到一个简洁的仪表盘。左侧导航栏包括“食谱”、“购物清单”、“菜单规划”等核心功能。
  3. 修改语言:点击左下角的用户头像,进入“设置” -> “语言”,选择“简体中文”,刷新页面即可。

四、核心功能体验

1. 手动添加食谱

点击左侧的“食谱” -> “创建食谱”。你可以手动输入食谱名称、描述、食材、步骤等。Mealie 支持富文本编辑,可以添加图片、调整格式。这是最基础也最可控的方式。

2. 从网页导入食谱(杀手级功能)

这是 Mealie 最吸引人的地方。点击“食谱”页面右上角的“导入”按钮,在弹出的输入框中粘贴任意烹饪网站(如下厨房、美食天下、Allrecipes等)的食谱链接,点击“导入”。Mealie 会自动抓取网页内容,智能提取标题、食材、步骤、图片等信息,并保存为一个结构化的食谱。实测对大多数中文网站支持良好,偶尔需要手动微调。

3. 创建菜单规划

点击左侧的“菜单规划” -> “创建菜单”。你可以按周、按天来规划。拖动食谱到对应的日期格子里即可。规划完成后,点击右上角的“生成购物清单”,Mealie 会自动汇总所选食谱的所有食材,按类别整理成清单,甚至能合并重复的食材数量。这份清单可以打印、导出或直接在手机上查看。

五、进阶配置与优化

1. 启用用户系统

如果家庭成员也需要使用,可以登录管理员账号,进入“设置” -> “用户管理”,点击“添加用户”,填入邮箱和密码,选择权限(管理员/普通用户)。普通用户只能看到自己的食谱和菜单,保护隐私。

2. 设置备份与恢复

Mealie 支持自动备份。进入“设置” -> “备份”,可以设置备份频率(每天/每周)。备份文件会存储在容器内 /app/backups 目录,也就是你映射的本地 backups 文件夹。如果需要恢复,在“设置” -> “备份”页面点击“上传备份文件”即可。

3. 配置反向代理(可选)

如果你希望在外网访问 Mealie,建议配合 Nginx Proxy Manager 或飞牛NAS自带的“应用网关”功能,配置 HTTPS 访问。这能确保数据传输安全,并让你随时随地从手机浏览器访问自己的食谱库。

总结

通过以上步骤,你已经在飞牛NAS上成功部署了 Mealie 食谱管理服务。从导入网络食谱到生成购物清单,再到规划家庭菜单,整个过程高效流畅。Mealie 不仅是一个食谱数据库,更是一个将烹饪与数据管理结合的实用工具。它让厨房工作变得有序,也让你的 NAS 在存储文件之外,多了一份生活温度。