全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 705|回复: 5
打印 上一主题 下一主题

【教程】如何搭建一个真正可用的discourse论坛

[复制链接]
跳转到指定楼层
1#
发表于 2024-10-29 10:34:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
转:https://clochat.com/t/topic/21

discourse论坛的搭建教程很多,但真正优化到稳定好用的,照顾到细节的并不多
在这篇文章里记录下这个网站的搭建过程,以及如何做基础的安全防护
前面是基础安装,后面是防护和优化,防护和优化比较重要

先安装docker
安装docker,采用一键安装

curl -L get.docker.com | bash
拉取git项目
apt install git
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
配置discourse
./discourse-setup
回答下面的问题,主要是把smtp给配置对了

Hostname for your Discourse? [discourse.example.com]:
Email address for admin account(s)? [[email protected],[email protected]]:
SMTP server address? [smtp.example.com]:
SMTP port? [587]:
SMTP user name? [[email protected]]:
SMTP password? [pa$$word]:
Let's Encrypt account email? (ENTER to skip) [[email protected]]:
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:
discourse-setup这个命令是用于生成配置文件的,配置文件位于 /var/discourse/containers/app.yml
后面你可以再次运行./discourse-setup重新生成,也可以直接编辑配置文件,每次编辑配置文件后要重新运行 ./launcher rebuild app编译docker镜像
编译docker镜像要花费10-20分钟,这是discourse最烦的地方之一,每次编辑个配置都要重新编译镜像

机器配置要求
官方说1C1G就可以安装,但实际上至少至少2C2G,稳定运行建议2C4G以上

防护和优化
本地速率限制
discourse很笨重,你搭建的网站可能被别人攻击一下就掉线了,所以防护很重要
防护分CDN和本地防护,本地这里discourse已经帮你配置了nginx防护规则,所以如果你是小白,可以直接用docker暴露出的nginx端口,一般情况下就够用了
如果你使用了CDN,比如cloudflare,那么下面这条配置非常非常关键

templates:
  - "templates/cloudflare.template.yml"
  - "templates/web.ratelimited.template.yml" #这条默认开启
一定要在templates里面加一条cloudflare.template.yml,这条规则会重新编译nginx,增加realip模块,不然别人cc你网站的时候,discourse会把cloudflare的ip拉黑,非常坑。

是否在docker外另开一个nginx
discourse每次修改配置,都要重新编译镜像,这个很让我不爽
而且修改discourse镜像里面nginx的配置,要手写templates,然后编译进去
所以我在docker外用nginx代理内部的端口,让docker监听本地端口
为了防止realip不认识我的本地ip,需要把docker的内网ip加到realip的信任ip上

防止扫描
禁止了除cloudflare外的ip访问443端口

防止discourse摘要爬虫露ip
discourse有爬取网站摘要的功能,会暴露ip,为了防止此类问题直接让出战流量走warp
CDN端的防护也有些讲究,大家感兴趣的话,有时间我再写一篇关于CDN的防护配置。
2#
发表于 2024-10-29 10:36:11 | 只看该作者
装个JB论坛也要docker
3#
 楼主| 发表于 2024-10-29 10:37:46 | 只看该作者


discourse是这样的,官方推荐用docker,能够和上游保持同步更新

反正都用笨重的discourse了,也不在乎这点消耗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-11 16:49 , Processed in 0.075806 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表