3步搞定家庭厨房管理系统:Tandoor Recipes部署与运维全攻略

3步搞定家庭厨房管理系统:Tandoor Recipes部署与运维全攻略

【免费下载链接】recipes Application for managing recipes, planning meals, building shopping lists and much much more! 【免费下载链接】recipes 项目地址: https://gitcode.com/GitHub_Trending/re/recipes

你还在为 recipes 管理混乱、购物清单总是遗漏而烦恼吗?本文将带你通过 Docker 快速部署 Tandoor Recipes,掌握数据备份与系统维护技巧,让美食管理从此井井有条。读完本文你将获得:
✅ 3 分钟 Docker 一键部署指南
✅ 全平台安装方案(含 Unraid/群晖)
✅ 数据安全备份策略
✅ 常见故障排查手册

项目简介

Tandoor Recipes 是一款开源美食管理系统,支持 recipes 存储、 meal planning、购物清单生成等功能。项目采用 Django + Vue3 架构,提供直观的 Web 界面和渐进式 Web 应用(PWA)支持。

部署方案对比

部署方式难度适用场景官方推荐
Docker Compose家庭服务器/个人 PC✅ 推荐
手动部署开发环境/定制需求❌ 不推荐
Unraid 插件极低Unraid 存储服务器用户✅ 推荐
Kubernetes极高企业级大规模部署❌ 不推荐

快速部署:Docker Compose 方案

环境准备

确保已安装 Docker 和 Docker Compose:

# 检查 Docker 版本
docker --version
docker-compose --version

部署步骤

  1. 下载配置文件

    # 创建项目目录
    mkdir -p /var/www/recipes && cd /var/www/recipes
    # 下载 docker-compose.yml
    wget https://gitcode.com/GitHub_Trending/re/recipes/raw/develop/docs/install/docker/plain/docker-compose.yml
    # 下载环境变量模板
    wget https://gitcode.com/GitHub_Trending/re/recipes/raw/develop/.env.template -O .env
    
  2. 配置环境变量
    编辑 .env 文件,设置关键参数:

    SECRET_KEY=生成随机字符串(建议 50 字符以上)
    POSTGRES_PASSWORD=设置数据库密码
    TIMEZONE=Asia/Shanghai
    

    生成安全密钥:

    base64 /dev/urandom | head -c 64  # 生成 SECRET_KEY
    
  3. 启动服务

    docker-compose up -d
    # 首次启动需等待 2-3 分钟数据库迁移
    docker logs -f recipes_web_1  # 查看启动日志
    
  4. 访问系统
    打开浏览器访问 http://服务器IP:80,默认管理员账号:admin@example.com,密码:password(首次登录需修改)。

配置示例

Docker Compose 配置文件路径:docs/install/docker/plain/docker-compose.yml
核心配置片段:

version: '3'
services:
  db:
    image: postgres:15-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - .env
  web:
    image: vabene1111/recipes:latest
    depends_on:
      - db
    volumes:
      - staticfiles:/opt/recipes/staticfiles
      - mediafiles:/opt/recipes/mediafiles
    env_file:
      - .env
    ports:
      - "80:80"
volumes:
  postgres_data:
  staticfiles:
  mediafiles:

数据备份策略

数据库备份

使用官方推荐的 pg_dump 工具:

# 备份数据库到 SQL 文件
docker exec -t recipes_db_1 pg_dumpall -U djangouser > /backup/recipes_$(date +%Y%m%d).sql

媒体文件备份

媒体文件(如 recipes 图片)存储在 mediafiles 卷,通过以下命令备份:

# 压缩备份媒体文件
tar -czf /backup/media_$(date +%Y%m%d).tar.gz /var/www/recipes/mediafiles

自动化备份

添加定时任务(crontab):

# 每日凌晨 3 点执行备份
0 3 * * * /var/www/recipes/backup_script.sh >> /var/log/recipes_backup.log 2>&1

备份脚本示例:docs/system/backup.md

系统维护

版本更新

cd /var/www/recipes
# 拉取最新代码
git pull
# 更新容器
docker-compose pull
docker-compose up -d

常见问题排查

1. 网页无法访问
  • 检查容器状态:docker-compose ps
  • 查看日志:docker-compose logs -f web
  • 验证端口占用:netstat -tulpn | grep 80
2. 图片加载失败

确保 Nginx 配置正确处理媒体文件:

location /media/ {
    alias /opt/recipes/mediafiles/;
    expires 30d;
}

配置文件路径:http.d/Recipes.conf.template

3. 数据库连接错误

检查 .env 文件中的数据库参数:

POSTGRES_HOST=db
POSTGRES_PORT=5432
POSTGRES_USER=djangouser
POSTGRES_PASSWORD=你的密码
POSTGRES_DB=djangodb

高级部署:Unraid 平台

Unraid 用户可通过 Community Applications 安装 Tandoor Recipes,步骤:

  1. 打开 Unraid 仪表板 → Apps
  2. 搜索 "Tandoor Recipes"
  3. 点击安装并配置存储路径
  4. 启动应用并访问 Web UI

数据迁移指南

从手动部署迁移到 Docker

  1. 导出旧数据

    # 手动部署环境执行
    cd /var/www/recipes
    source venv/bin/activate
    python manage.py dumpdata > backup.json
    
  2. 导入到 Docker 环境

    # 复制备份文件到容器
    docker cp backup.json recipes_web_1:/opt/recipes/
    # 执行导入
    docker exec -it recipes_web_1 sh -c "source venv/bin/activate && python manage.py loaddata backup.json"
    

总结

Tandoor Recipes 提供了灵活的部署方案,推荐家庭用户优先选择 Docker 或 Unraid 部署。定期备份数据和关注版本更新是系统稳定运行的关键。如有更多需求,可参考官方文档或提交 Issue。

相关资源

如果觉得本文有用,欢迎点赞收藏,关注获取更多开源工具部署教程!

【免费下载链接】recipes Application for managing recipes, planning meals, building shopping lists and much much more! 【免费下载链接】recipes 项目地址: https://gitcode.com/GitHub_Trending/re/recipes

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值