Discourse 安装教程

Discourse作为一个容器化的软件,它的安装相对简单,但在国内服务器上会因为某些原因导致安装卡住甚至失败,此主题将介绍如何分别在国内、国外服务器上顺利安装Discourse。

服务器最低配置建议

CPU:2核心
内存:4G
可用空间:10G+

服务器准备好之后,就可以开始了。

安装Docker

首先要在系统中安装Docker,可参考Docker官方安装教程,几乎支持任何主流系统安装,此教程使用AlmaLinux 9进行操作。

对于国内服务器,请使用清华镜像进行加速,说明见:

Docker安装完成之后,运行systemctl enable dockersystemctl start docker设置开机自启和启动Docker。

对于国内服务器,请设置Docker镜像加速。
编辑vim /etc/docker/daemon.json文件,填入如下内容:

{
    "registry-mirrors": [
        "https://docker.mirrors.sjtug.sjtu.edu.cn"
    ]   
}

保存后运行systemctl restart docker重启Docker。

准备Discourse安装环境

  • 一个可用的SMTP发信邮箱信息以发送管理员激活邮件。
  • 论坛域名解析到当前服务器IP,安装过程中需要填写。
  • 服务器安装好Git,使用dnf install git或者apt install git
  • (国内)服务器安装好Vim,使用dnf install vim或者apt install vim

环境准备完成后,即可继续下载Discourse的docker管理程序。

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers

如果国内机器无法连通GitHub,可使用以下任一代理服务或自建代理:

一切无误后,即可继续安装Discourse。

安装Discourse

运行./discourse-setup启动安装程序。

image

提示输入论坛域名,输入并回车。
接下来会检测域名解析情况,如果检测不通过将无法继续。

如图提示域名未正确解析,可手动修改配置安装,此方法不在本文讨论范畴之内。
解析问题解决后,可重新运行./discourse-setup启动安装程序。

接下来会要求输入管理员邮箱地址、SMTP服务器、SMTP服务端口、SMTP用户名、SMTP密码、通知邮箱地址以及可选的Let’s Encrypt通知邮箱地址和Maxmind许可证,按要求填写完毕即可。

最后会显示确认信息,无误按下回车,即开始安装。

image

对于国外服务器,这一步只需等待安装完成,对于国内服务器,请Ctrl+C结束掉安装程序,继续往下操作。

针对国内服务器的修改

由于众所周知的原因,需要对配置文件进行一番修改,方可在国内顺利安装Discourse,如不修改,则很有可能卡在某一步甚至安装失败。

vim containers/app.yml打开主配置文件,在templates部分的- "templates/web.template.yml"后方添加- "templates/web.china.template.yml"

操作完成后,保存并关闭文件,执行./launcher rebuild app以开始安装。
(应用优化后插件配置部分可直接填写插件GitHub链接,无需修改为镜像后链接)
(以上优化过程也已经提交给Discourse官方,但不清楚是否能、何时能合并进主仓库已经合并进主仓库,所以不再需要手动打补丁)

安装后操作

浏览器打开论坛域名,配置网站信息和创建管理员账号。

邮箱激活管理员账号并登录后台,至此安装结束,恭喜你已经拥有自己的Discourse。

其他可参考的教程

2 Likes

正好学学搭建

小鸡啥配置的,还挺快

2h8g,这个程序是有点吃内存的。

我用的2 vCPU, 4096 MB RAM, 100 GB NVMe, 5.00 TB Transfer 感觉挺不错了

看看网站,服务器是哪个地区?

现在网站在重启 架设在日本的

宅宅的妙妙屋 - 这里是二次元聚集地 (justnainai.com)

看起来不错。header上的多语言切换是怎么做的,插件?

顶部导航的毛玻璃效果好看,下面的文字移动离顶部导航栏太近了.
image

你可以用padding-top代码加点间距.

主要我觉得在阴影里面比较舒服点 所以在弄在里面

忘记是那个插件的了 反正只能不登录的时候切换登录后按钮就消失了
我就没怎么注意这个了

话说总结怎么关闭感觉每次都发几百个邮件有点:sweat:

后台用户偏好设置,总结频率改成从不

1 Like

原来如此感谢

麻烦讲一下呗,因为我这里一直这样

而且教程真的也没找到其他的了

建议是先做好解析,如果确定要跳过解析的话,看这篇。

仍旧不行,这次我选择直接删除了数据,不进行安装面板,发现还是

./discourse-setup --skip-connection-test 用了吗

好了,可以正常绑定域名了,然后又是错误:

ENTER to continue, ‘n’ to try again, Ctrl+C to exit:
letsencrypt.ssl.template.yml enabled

Configuration file at containers/app.yml updated successfully!

DISCOURSE_DEVELOPER_EMAILS left at incorrect default of me@example.com,you@example.com

Sorry, these containers/app.yml settings aren’t valid – can’t continue!
If you have unusual requirements, edit containers/app.yml and then:
./launcher bootstrap app
翻译过来也就是:抱歉,这些容器/app.yml设置无效 - 无法继续!
如果您有异常要求,请编辑 containers/app.yml,然后:
./launcher 引导应用程序