Discourse 是一款开源、现代化的论坛社区系统,支持实时讨论、邮件通知、移动端自适应和强大的权限管理。通过搭建 Discourse 论坛,你可以快速构建一个高互动、高可维护性的社区平台,适用于技术交流、资源分享、产品支持和兴趣社群等多种场景。
准备工作
连接VPS,进入终端进行安装,安装命令如下:
更新系统安装证书申请工具
apt-get update && apt-get install -y netcat-openbsd curl sudo
Discours 安装
sudo apt install docker.io sudo apt install git
逐条执行
sudo -s git clone https://github.com/discourse/discourse_docker.git /var/discourse cd /var/discourse chmod 700 containers
执行安装:
./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]:
如果smtp发送不了邮件可以修改配置:
只需进入并修改该文件: var/discourse/containers/app.yml即可可以安装插件
每次修改需要重建才会生效
cd /var/discourse ./launcher rebuild app
因为Discourse实时加载内容懒加载技术
要修改防护和优化本地速率限制
改app.yml文件找到注释或者直接删除,因为不需要他提供ssl证书全部交给Caddy2
## 配置Caddy关闭下面ssl证书与 # https # - "templates/web.ssl.template.yml" # - "templates/web.letsencrypt.ssl.template.yml"
再修改端口映射
expose: - "127.0.0.1:8080:80" # http # - "127.0.0.1:8443:443" # https
最后别忘记了重新构建容器
重构完成开始安装Caddy2实现反代
如何安装Caddy2阅读文章
配置文件目录一般在/etc/caddy/Caddyfile修改配置
快速编辑
sudo nano /etc/caddy/Caddyfile
配置内容例如你的域名是
更改域名:www.example.com
你的邮箱:[email protected]
https://example.com {
tls [email protected]
redir https://www.example.com{uri} permanent
reverse_proxy 127.0.0.1:8080 {
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
}
}
https://www.example.com {
tls [email protected]
reverse_proxy 127.0.0.1:8080 {
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
}
}
为什么设置https://example.com
可以自动跳转www.example.com
如果不需要则删除第一个配置即可
您可以使用以下步骤来检查您的Caddy配置是否正确:
sudo caddy fmt --overwrite /etc/caddy/Caddyfile
验证配置语法:
sudo caddy validate --config /etc/caddy/Caddyfile
启动Caddy服务器
caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile systemctl restart caddy
如果修改/etc/caddy/Caddyfile配置
重新加载配置:
sudo caddy reload --config /etc/caddy/Caddyfile
discourse备份路径为:
/var/discourse/shared/standalone/backups/default/
caddy证书位置
/var/lib/caddy/.local/share/caddy/certificates/