discourse社区备份大坑——启用S3存储桶

本指南阐述了如何在 Discourse 中启用一项隐藏设置,以将 Amazon S3(简单存储服务)上的上传内容纳入您的备份中。

Discourse 能够将媒体上传内容存储在 Amazon S3 上,以实现可扩展性和可靠性。然而,默认情况下,这些上传内容并不包含在备份中。

本指南涵盖了启用一项隐藏设置以将 S3 上的上传内容包含在备份中的方法,并提供了通过 Rails 控制台或 app.yml 文件进行配置的选项。

使用 Rails 控制台

若要通过 Rails 控制台启用将 S3 上的上传内容包含在备份中,您可以按照以下步骤操作:

  1. 通过 SSH 访问您的 Discourse 服务器。
  2. 运行以下命令进入 Discourse Docker 容器:
cd /var/discourse
./launcher enter app
  1. 启动 Rails 控制台:
rails c
  1. 执行以下命令启用该设置:
SiteSetting.include_s3_uploads_in_backups = true
  1. 键入以下命令退出控制台和容器:
exit
exit

此更改将立即生效,无需进一步操作。

修改 app.yml 文件

您也可以通过在 env: 部分中添加修改 app.yml 文件来进行此更改。

  1. 访问 Discourse 应用容器目录:
cd /var/discourse
  1. 打开位于 containers 目录下的 app.yml 文件:
nano containers/app.yml
  1. env: 部分下,添加以下行:
DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true
  1. 保存文件并退出编辑器。
  2. 通过重建应用来应用更改:
./launcher rebuild app

为了使此更改生效,您需要运行 ./launcher rebuild app 命令以应用该设置。