Discourse接入S3储存后,已经在在本地的能迁移吗?

Discourse的备份是一个压缩包

解压之后一个是数据库,另一个是上传文件(uploads)

使用S3储存以后,这个Uploads将不会出现在备份文件当中,而是储存在对象储存

每次备份都只会备份数据库除非开启某个设置选项,允许备份S3储存的Uploads

提问环节

请问,如果我此时使用了本地储存一段时间了,备份文件里面的Uploads已经很庞大了

我能否手动将备份文件里的Uploads覆盖>>>>>>>>到S3储存里的Uploads?

对于原本已经被话题引用的图片文件,他们能正常显示吗?

(Discourse对于图片储存方式是通过随机的名字来区分的,例如upload://ob9K7RhMbch2b2oTnJNi0bYCNPi.png)

  • 图片正常显示
  • 图片无法正常显示,需要手动修改每一个话题引用
  • 路过
0 voters

@Lhcfl 您有什么看法?

Discourse能接入微软云盘吗 S3存储好麻烦

云盘似乎不属于S3类型

直接覆盖应该是无法正常显示的。

我记得 uploads 表中有个 s3 的路径,这个应该也需要修改下的吧。

没用过S3,不知道

看来确实是要这样

Solid post. Good information.

如果查看下数据库表,上面有一个 url 字段。

这个地方给我的感觉是,如果上传到 S3,那么需要使用绝对路径。

如果使用

提到的方法 ,可能还需要进行什么操作

A post was split to a new topic: 汉化 Discourse 的组件

可能就是有时候没有完全迁移过去。

我遇到过的情况就是上面的方法使用了,页面也显示正常了。

但:只要修改页面,或者 rebuild 页面,图片就会丢失。

算法没有问题,后来发现是 URL 部分还是使用的是老的本地 IMG 地址。

这个就很郁闷了。

能想象,只要页面修改了,或者更新了,老的图片和附件就没有了。

技术和生活类的社区,本来就是图片和附件多,我们这里现在已经有差不多 1万5千多的附件信息。要整理出来真的是挺郁闷的。

心得

根据这个经历,我的建议是如果安装了 Discourse 实例,知道自己早晚都要用云存储的话,第一时间就给配好。

这个不是那么非常靠谱,可能会有一些小的问题。

1 Like

A post was split to a new topic: POST 转为主题的功能

我的备份文件已经达到了100M以上了,几乎每天都在一直上涨。

可数据库仅仅20mb左右,如果不能迁移,备份文件依旧非常大

是可以迁移的。

这个放心,只是可能会有一点点小的问题罢了。

我们的附件现在是 3.2 GB。

随着社区的使用,这个附件的数量只会是越来越大,不会越来越少。

如果是旅游板块的话,一张照片就算处理下也可能有 3 到 5MB。

100 张相关照片就 500 多 MB 了。

所以,建议是尽快越早使用越好,而且还不会占用你服务器的空间,CDN 本身也可以帮你加速下,并且能够把这部分的带宽从 Discourse 实例上拿走。

反正我就是觉得 CDN 越早配越好。