Scaleway 有什么改动吗?它在我 48 小时前还能用,但现在不能用了。
您的账单付了吗?有什么问题?有图片能显示吗?它们都消失了还是您就是无法添加新的?
您能增加一些支持吗?例如,中国的腾讯云对象存储(COS)对中国用户来说更方便,而且腾讯云的COS在全球各地都有CDN节点,访问速度非常快。
你试过吗?它工作正常吗?
我在测试环境中使用了一下,但是目前只能备份到腾讯云 COS,希望 discourse 官方能够增加对腾讯云 COS 的支持,方便国内开发者。
我想你需要分享你做了什么以及遇到了什么错误或问题。这样别人才可能提出如何让它工作的建议。你可以看看其他的例子,看看是否能用它们来让它工作。
我认为他们不太可能在核心中进行更改来支持它。
Backblaze:
- 我已在我的账户中设置了一个 B2 存储桶
- 在
app.yml的env部分添加了详细信息 - 运行
./launcher rebuild app
……但我在 Discourse 实例仪表板中没有看到任何确认这些设置已生效的提示。我应该在哪里查看?
您好,
我已成功测试并使用了 Cloudflare R2 进行上传和备份。详细帖子请参见 Cloudflare R2: Navigating Setup and Handling Configuration Errors - #40 by kamaljain
恳请您在您的终端进行测试,并将“与 Discourse 兼容”一项评审为“是”,以支持 Cloudflare R2。实际上,它比 S3 更简单且更经济,如果存储量小于 10GB 甚至免费。
我也在多站点上测试了一个设置,并且也认为它有效。
我看到了一些让我怀疑你是否能获得备份列表的东西。我会尝试检查我的设置。
嗨,兄弟,我可以和你聊聊吗?我在配置 MinIO 时遇到了一些问题。
谢谢。
iDrive 配置
只是想报告一下,使用 iDrive 的 E2 版本 s3 存储,使用以下设置可以完美运行:
yaml 文件中的 ENV 设置
确保您的存储桶在 iDrive 的设置中至少具有 Public 和 Read 权限。
这些是我为共享 uploads 和 backups 的一个存储桶使用的设置。
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: your-region
DISCOURSE_S3_ENDPOINT: https://your-idrive-endpoint.dev
DISCOURSE_S3_ACCESS_KEY_ID: your-access-key
DISCOURSE_S3_SECRET_ACCESS_KEY: your-secret-key
DISCOURSE_S3_CDN_URL: https://your-custom-cdn-url.com/uploads
DISCOURSE_S3_BUCKET: your-bucket-name/uploads
DISCOURSE_S3_BACKUP_BUCKET: your-bucket-name/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
默认情况下,iDrive 具有“与所有源共享此区域中的所有内容”…因此,无论源如何,它都应该开箱即用。如果您愿意,可以将其锁定到您自己的域。
我使用 Cloudflare 源证书创建一个指向 iDrive 端点的 CNAME。
同步现有附件
重建
更改这些 ENV 设置后,请重建应用程序。
上传和重新烘焙
然后进入容器并运行
rake uploads:migrate_to_s3
观察它上传,然后运行
rake posts:rebake_uncooked_posts
退出容器
添加到 yaml 文件的 hooks 部分
在 hooks 部分
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
这可以确保在附件上传到 iDrive 后,js/css 等内容也会上传到 iDrive,否则您会在浏览器中看到大量控制台错误,因为它们都丢失了。
重建
在资产命令执行后再次重建。
一切应该都正常了!
也许应该将 Hetzner 的对象存储服务加入到表格中?
我设法使用了 Contabo 进行文件上传。旧的(已迁移的)文件和新的上传都运行正常。在我的例子中,存储桶 URL 是 https://eu2.contabostorage.com/mybucket。诀窍是将 EU2 设置为存储桶名称,将 https://contabostorage.com/mybucket 设置为端点。唯一的问题是,在加载网站时,它还会从存储桶请求其他文件,例如插件的 js,但由于文件不可用而无法加载。好吧,我明白了,这是因为我将 CDN URL 设置为与存储桶相同。这对我来说还不算很清楚,有人能告诉我如何设置吗?据我所知,我需要创建一个指向主域(discourse 服务器)的 cname 地址,并使用 cloudflare 代理它,这是正确的吗?
你漏掉了这部分:
我确定我做到了,但也许我犯了一个错误。最后,我恢复了一个备份,所以我有点凭记忆……但随后,我想,为什么不建议将 CDN 设置为存储桶?它会引起什么问题?明天再试。\n谢谢
我不认为您描述的问题是由于您将 CDN URL 设置为存储桶 URL(也就是说,如果上传正常,但资源不正常)。
明天会更新,谢谢
太棒了 ![]()
我所做的步骤,希望能帮助到其他人:
在 hooks: (紧跟在 git clone plugins… 之后) 之后编辑了 app.yml 并添加了
after_assets_precompile:
- exec: cd: $home
cmd: - sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
并在邮件设置之后添加了
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: EU
DISCOURSE_S3_ENDPOINT: https://contabostorage.com/bucketname
DISCOURSE_S3_ACCESS_KEY_ID: accesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: secretaccesskey
DISCOURSE_S3_CDN_URL: https://eu2.contabostorage.com/randomlettersthatcontaboaddstothelinks:bucketname
DISCOURSE_S3_BUCKET: eu2
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
然后我在 discourse 菜单中设置了相同的值并启用了 S3 上传。
使用以下命令重建了应用
cd /var/discourse
sudo ./launcher rebuild app
然后
./launcher enter app
rake uploads:migrate_to_s3
这需要一些时间,对我来说是几个小时(80k 个文件,100GB)
完成后
rake posts:rebake_uncooked_posts
更新:一些用户无法加载网站(资产和文件)。我们发现 contabostorage.com 域名被列入了一些钓鱼网站的黑名单。解决方案很简单:
设置一个子域名 files.mydomain.com,如此处所述 Can I Setup a Custom Domain for My Object Storage? : Contabo
在 app.yml 中更新 DISCOURSE_S3_CDN_URL:https://files.mydomain.com
然后
cd /var/discourse
sudo ./launcher rebuild app
为了完成这项工作
./launcher enter app
rake posts:rebake
现在所有资产和上传都将从 https://files.mydomain.com/pathtofile/file.ext 加载。
完成
