Discourse 服务器上手动升级

Discourse 如果没有办法通过 Web 界面进行升级的话,可以通过服务器上命令来进行手动升级。

升级的命令分别如下:

cd /var/discourse
git pull
./launcher rebuild app

在服务器上执行就可以了。

这个升级通常比较耗时,需要在个 10 多分钟。

离线安装和升级呢?

内网环境,无法连github

我用guthub官方的git链接下载后,安装不上去。连不上github

这样的话,肯定会麻烦点。

不过还是有解决办法的,你可以把 GitHub Fork 到你一个可以访问的 Git 服务器上。

你们内部网络总会安装一个内部的 Git 服务器吧。

然后把 GitHub 的代码 Fork 到这个服务器上.

进入目录:/var/discourse/.git

vi config 文件,然后修改上面的路径位置。

这样你的 git pull 就从你本地服务器上来更新代码了。

觉得这是一个解决办法。

2023-04-22_10-22-59

修改这个路径地址到你的本地服务器上。

好哒,谢谢,我完了从官方的地址试试这样安装。

我现在是第三方封装的安装的。

bitnami/discource,直接封装了3个镜像,docker-compose直接运行就搞定了,不需要拉取源码。

多问一下,能离线安装插件吗?

我看到的都是钩子,给git地址,安装的。

貌似是不能离线安装插件的。

我的这个是部署在公共网络上的,所以都是通过 Git 拉取。

想到的办法还是通过你内网的 Git 下吧,可能这个问题是可以解决的。

根据官方的文档:Install Plugins in Discourse - sysadmin - Discourse Meta 安装插件的方式都是 Git。

好哒,完了我看看插件仓库。

好像就没有特别优秀的插件。

在咨询一个问题,如果只是更改域名,之前上传的图片,就会在新域名打开的网址中不显示,F12看,图片地址的域名还是在老域名中,这个有没有办法批量修改?

换机器,原来的服务器中的各类帖子有没有办法进行数据迁移到新机器?

必须通过pg数据库迁移吗?

备份我是了一下,上传到另一台,不显示让恢复。

但是备份那一台上备份,有恢复按钮。

是的,Discourse 本身自己的功能做得还不错,插件上面也没有太多需要依赖的。

没有特别好的,我自己也没有装什么插件,就一个老的用来 Google 跟踪代码的,现在这个插件也不需要了,可以用 Google 的 Tag Management 搞定了。

另外一个我就装了个菜单导航的。

更改域名有个方法的,请参考链接:如何修改 Discourse 的域名

我们改过不少域名,不需要登录服务器上手动更新的。

你主要看上面网页中的这部分: 将主题中所有有关老站点的引用替换为新站点的域名 内容。

discourse remap talk.foo.com talk.bar.com

执行下就可以了,上面的修改能把大部分的链接改过来。

我将 discourse_docker.git 工程下载内网,将工程内链接都改成内网地址,然后执行还是报错连不上 github。

异常信息和下边链接的异常一模一样。

没有看懂是哪里调用 git clone http:// github.com/discourse/discourse.git

可能是程序什么地方还有设置吧。

我查看了下 app.yml,上面还有一个是配置 Docker 容器的。

这个地方可能还需要改一下。

还有一个是程序里面可能有地方写死了。

我查了下,程序里面还是有代码是使用 discourse/discourse.git 字符串。

感觉比较重要的地方可能是 package.json 和一些部署的位置。

我建议你可以把你本地代码的地方也部署的这些位置也替换下。

说实在话,我们真没有改过这个,我们是直接用 GitHub 装的,我感觉本地安装的话,上面的这些文件,我是全局搜索的,可能改改试试。

好哒,非常感谢。

我先用docker凑合用,有时间慢慢搞源码安装的。

好的,没问题。

如果有什么进展,也欢迎分享下。