在群晖NAS上部署Tandoor Recipes的完整指南

在群晖NAS上部署Tandoor Recipes的完整指南

recipes Application for managing recipes, planning meals, building shopping lists and much much more! recipes 项目地址: https://gitcode.com/gh_mirrors/re/recipes

前言

Tandoor Recipes是一款开源的食谱管理应用,可以帮助用户高效地组织和管理个人食谱。本文将详细介绍如何在群晖NAS上通过Docker容器部署Tandoor Recipes应用,包括环境准备、配置设置、容器创建以及后续优化等完整流程。

环境准备

在开始部署前,需要确保群晖NAS已做好以下准备工作:

  1. 安装必要软件包

    • 通过群晖的"套件中心"安装"Container Manager"(原Docker套件)
    • 安装"文本编辑器"套件,用于编辑配置文件
  2. 创建目录结构: 在File Station中创建以下目录结构:

    /docker/
    └── recipes/
        ├── postgresql/    # 数据库数据存储
        ├── mediafiles/    # 媒体文件存储
        ├── staticfiles/  # 静态文件存储
        └── nginx_config/  # Nginx配置文件
    

配置文件设置

1. 配置环境变量文件(.env)

  1. 获取.env.template模板文件内容
  2. 将内容保存为/docker/recipes/.env.txt(临时使用.txt扩展名以便编辑)
  3. 使用文本编辑器打开并修改关键参数:
    • SECRET_KEY:设置一个强密码作为应用密钥
    • POSTGRES_PASSWORD:设置PostgreSQL数据库密码
    • 其他可选参数根据需求调整
  4. 保存后重命名为.env(移除.txt扩展名)

2. 配置Docker Compose文件

  1. 获取docker-compose.yml模板文件内容
  2. 注意该文件定义了三个关键服务:
    • recipes:主应用服务
    • nginx:Web服务器
    • postgresql:数据库服务

容器部署步骤

1. 创建Docker项目

  1. 打开Container Manager,选择"项目"标签
  2. 点击"创建"按钮新建项目
  3. 填写项目信息:
    • 名称:如tandoor_recipes
    • 路径:选择之前创建的/docker/recipes目录
    • 来源:选择"创建docker-compose.yml"

2. 配置端口映射

在docker-compose.yml中找到nginx服务的ports配置:

ports:
  - "80:80"

将第一个端口号改为群晖NAS上可用的端口,例如:

ports:
  - "2000:80"

这表示外部通过2000端口访问,内部Nginx服务使用80端口。

3. 完成部署

  1. 点击"下一步"跳过Web门户设置(容器已包含Nginx)
  2. 检查摘要信息并点击"完成"
  3. 等待容器构建和启动过程完成

4. 验证部署

在浏览器访问:

http://<群晖IP>:<配置的端口>

例如:http://192.168.1.100:2000

高级配置

1. 防火墙设置(可选)

虽然新版本可能不需要,但为确保容器间通信,可配置防火墙规则:

  1. 进入"控制面板" > "安全性" > "防火墙"
  2. 创建新规则:
    • 端口:全部
    • 源IP:指定Docker网络IP(如172.18.0.0/24)
    • 操作:允许
  3. 确保该规则位于拒绝规则之上

2. SSL证书配置(推荐)

通过反向代理实现HTTPS访问:

  1. 进入"控制面板" > "登录门户" > "高级" > "反向代理"
  2. 创建新规则:
    • 源:HTTPS协议,指定域名或IP,使用新端口
    • 目标:HTTP协议,localhost,使用Docker配置的端口
    • 添加Websocket自定义头
  3. 在防火墙中允许反向代理端口

常见问题解决

  1. 容器启动失败

    • 检查是否创建了所有必要目录
    • 验证.env文件中的密码设置
    • 查看容器日志获取具体错误信息
  2. 端口冲突

    • 确保选择的端口未被其他服务占用
    • 可通过netstat -tuln命令检查端口使用情况
  3. 数据库连接问题

    • 检查POSTGRES_PASSWORD是否一致
    • 验证postgresql目录权限

维护建议

  1. 定期备份

    • 备份/docker/recipes/postgresql目录(数据库数据)
    • 备份/docker/recipes/mediafiles目录(上传的媒体文件)
  2. 更新容器

    • 通过Container Manager检查镜像更新
    • 更新前建议先备份重要数据

通过以上步骤,您可以在群晖NAS上成功部署Tandoor Recipes应用,享受便捷的食谱管理体验。如需更高级的定制,可以参考官方文档进一步配置。

recipes Application for managing recipes, planning meals, building shopping lists and much much more! recipes 项目地址: https://gitcode.com/gh_mirrors/re/recipes

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廉娴鹃Everett

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值