# Discourse 3.5.0.beta2-dev 的问题 - SMTP 和后台作业

**URL:** <https://meta.discourse.org/t/issues-with-discourse-3-5-0-beta2-dev-smtp-and-background-jobs/354732>\
**Category:** Bug\
**Tags:** email\
**Created:** [2025年二月27日 01:39 UTC](https://meta.discourse.org/t/issues-with-discourse-3-5-0-beta2-dev-smtp-and-background-jobs/354732 "2025-02-27T01:39:36Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![Kirk](https://avatars.discourse-cdn.com/v4/letter/k/f9ae1b/32.png) [@Kirk](https://meta.discourse.org/u/Kirk)\
**Post date:** [2025年二月28日 01:36 UTC](https://meta.discourse.org/t/issues-with-discourse-3-5-0-beta2-dev-smtp-and-background-jobs/354732/3 "2025-02-28T01:36:09Z")

</div>

## 我继续在安装 Discourse 时遇到困难。这是 ChatGPT 整理的另一份报告。我相信它准确地反映了我的经历。

### **报告：Discourse 安装和 Sidekiq 服务缺失问题**

**背景：**  
我们尝试在 Vultr 实例上全新安装 Discourse，旨在建立一个稳定且可用的部署。然而，我们遇到了重大问题，特别是 Sidekiq 等服务缺失，这导致电子邮件发送和后台作业处理失败。

* * *

### **遇到的问题摘要**

1. **安装了意外的版本**

- 安装默认选择了 `tests-passed`，而不是预期的 `v3.4.0.beta4-dev`，这可能是一个不稳定的版本。
- `VERSION` 文件缺失，不清楚具体安装了哪个版本。

1. **Sidekiq 服务缺失**

- Discourse 容器内缺少 `/etc/service/sidekiq` 目录。
- 这导致所有后台作业（电子邮件、通知、计划任务）无法运行。

1. **Discourse Git 仓库问题**

- 在容器内运行 `git rev-parse --abbrev-ref HEAD` 返回 `tests-passed`，证实安装了非预期的版本。
- Git 抛出 **“检测到可疑所有权”** 错误，需要手动干预（`git config --global --add safe.directory /var/www/discourse`）。

1. **潜在的依赖项问题**

- 即使检出了旧版本的 Discourse，也担心在安装过程中可能会拉取新的依赖项（Ruby、Redis、Sidekiq），可能导致兼容性问题。
- 如果 Discourse 的依赖项没有正确固定，安装在不同环境中的行为可能会不一致。

1. **SSL 证书速率限制**

- 由于 **超出速率限制** ，尝试获取新的 Let’s Encrypt SSL 证书失败。
- 这导致 Nginx 无法启动，因为它无法加载预期的证书文件。

* * *

### **计划的后续步骤**

1. **执行完全擦除和重新安装**

- 完全删除 `/var/discourse` 并重新克隆仓库。
- 在运行安装之前，手动检出稳定版本（例如 `v3.4.1`）。
- 使用 `./discourse-setup` 而不是依赖默认值，以确保参数正确。

1. **确保 Sidekiq 已安装**

- 在重新构建之前，验证 `sidekiq` 服务是否已正确包含在构建过程中。
- 如果重新构建后 Sidekiq 仍然缺失，请通过 `bundle list | grep sidekiq` 手动检查其安装情况。

1. **将依赖项固定到稳定版本**

- 使用已知的稳定 Discourse Docker 镜像（例如 `discourse/discourse:2.0.20240101`）来避免与依赖项相关的问题。
- 在容器内锁定 gem 版本（`bundle install --deployment --without test development`）。

1. **重新尝试 SSL 证书颁发**

- 等待 Let’s Encrypt 速率限制重置，然后重试 SSL 证书生成。
- 如果问题仍然存在，可以考虑暂时使用自签名证书进行故障排除。

* * *

### **寻求反馈**

鉴于这些挑战，我们希望获得 Discourse 团队和社区关于以下方面的意见：

- **全新安装时 `/etc/service/` 中缺少 Sidekiq** – 是否有其他人遇到过此问题？
- **确保依赖项稳定性的最佳实践** – 是否有推荐的固定 Discourse 安装依赖项版本的方法？
- **默认安装 `tests-passed` 可能存在的问题** – 在检索版本的方式上是否存在问题？

在我们继续重新安装之前，任何见解都将有所帮助。提前感谢！

---

_[View the full topic](https://meta.discourse.org/t/issues-with-discourse-3-5-0-beta2-dev-smtp-and-background-jobs/354732)._
