我的安装比最新版本落后16,359个提交!有什么建议吗?

并且“升级”按钮是灰色的:

关于如何“升级”有什么建议吗?

2 个赞

执行命令行升级。

但你已经落后太多了,我建议你先做好备份,甚至可以考虑完全部署到新服务器,然后使用你的备份进行恢复。

备份完成后,你可以尝试:

./launcher cleanup app 然后
./launcher rebuild app

但你可能会发现你的操作系统太旧,Docker 版本也太旧。但可以试试。

5 个赞

上次更新是一小时前和一周前?

编辑:我的看法不同。但是,该更新时间并不能说明所有这些最后一次更新到论坛的时间,而是列表何时更新?如果是这样,那么 OP 应该尽快通过控制台升级。

好的。我会在稍后尝试一下。

是的,不确定“一小时前”是怎么回事。已经过去很久了!

那是存储库最后更新的时间,而不是网站。

3 个赞

是的,我结账时意识到了。每天都有新东西(嗯,虽然我实际上从不使用UI更新),

2 个赞

另请参阅 PostgreSQL 15 更新

您上次升级是 4 年前吗?

您的操作系统也很可能已过时,因此我建议您获取一个新的虚拟机并将 Discourse 站点迁移到另一台 VPS(使用 rsync),可以排除 postgres_*,然后恢复备份。这样您就可以避免数据库升级,只需恢复数据,数据在恢复时就会被迁移。

这样更简单,如果出现任何问题,您现有的站点可以继续运行。

1 个赞

好的,开始吧。我做了一个备份,但无法通过 UI 下载,它说发送了电子邮件,但服务器目前不发送电子邮件。

我通过 SSH 登录,看到它是 Ubuntu 14。

我认为最好的办法是在最新的操作系统上部署最新的 Discourse,然后上传备份(在我通过 SSH 获取备份之后)。

这样导入数据库后会自动迁移数据库,对吧?

1 个赞

我当前所在的提交是 46d899f9c10ebc0d44ced97d6f724dff295e7741

我添加了一个 containers/app.yml 文件(我不记得为什么),例如包含以下内容:

env:
  DISCOURSE_HOSTNAME: 'lume.community'
  LETSENCRYPT_ACCOUNT_EMAIL: 'joe@trusktr.io'

我不记得这些配置是否是必需的。它们是必需的吗?理想情况是,我只需启动一个新的 Discourse 实例,上传一个数据库,然后就可以开始使用了。

我将尝试现在创建新实例……

4 个赞

主机名是必需的。Let’s Encrypt 很快就会失效。

将旧数据库恢复到新站点应该可以“正常工作”。我会那样做。

我目前在我的 app.yml 中有以下内容,已有数年:

  # TODO (joe) 修复 Discourse 相关的错误后删除此行
  # 请参阅 https://meta.discourse.org/t/upgrade-rebuilds-fail-due-to-maxmind-db-eol/137387/2
  DISCOURSE_REFRESH_MAXMIND_DB_DURING_PRECOMPILE_DAYS: 30

链接到:

我可以在新实例中删除它吗?还是我需要做些什么?我假设这个问题很久以前就已经解决了,并且我可以避免在 app.yml 中包含此设置?

1 个赞

去年对 MaxMind 进行了一些修复,我认为现在应该安全了。我已数月未见任何提及此问题的帖子。

您可以使用 rake 命令手动测试下载:

./launcher enter app
rake maxminddb:get
exit

(作者已删除帖子)

您不必删除,我认为将解决方案与问题相关联对其他人来说始终是有用的。

4 个赞

我现在处于这个界面,这是一个全新的安装,我想知道在进行任何操作之前如何从旧实例导入数据库:

我猜是先注册,然后在 UI 中导入,并且我可能应该避免使用我将在导入的数据库中的管理员帐户的电子邮件地址进行注册,以免发生冲突。

我打算试试。我总可以重新开始。

编辑:啊,好吧,它只允许使用设置期间指定的管理员电子邮件进行注册。让我们看看会发生什么。

编辑:我必须回头再弄,因为它不发送电子邮件。Mailgun 似乎已阻止了我的帐户“由于潜在的泄露”,我需要解决这个问题。

编辑:我通过命令行导入备份绕过了损坏的电子邮件。

看起来成功了!! :partying_face:

5 个赞

你做到了!

如果有一天你需要再次执行此操作,你可能需要 从命令行恢复备份

如果你将备份放在 S3 上,并将这些设置放入你的 yml 文件中,你甚至不必自己移动备份文件。

4 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.