宝塔面板部署Discourse更加现代化社区🎉

本次教程基于Debian12_x86系统

概要:
1.准备Debian12系统,安装Doker与Docker Compose;2.安装宝塔面板,选择docker与Nginx环境,安装好先关闭Nginx,再到防火墙开启8080、8443端口;3.进行Discourse官方安装指令,安装好进入app.yml注销其相关功能以免对宝塔面板起到冲突;4.添加反向代理,开启一键SSL证书。

1. 更新系统

首先,确保你的系统是最新的。

apt update && apt upgrade -y

2. 安装 Docker 和 Docker Compose

安装 Docker 的必要依赖包

apt install -y apt-transport-https ca-certificates curl software-properties-common

添加 Docker 的 GPG 密钥

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

设置 Docker 的 stable 仓库

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

更新包列表并安装 Docker

apt update

apt install -y docker-ce docker-ce-cli containerd.io

安装 Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.39.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

安装宝塔面板(Debian12)

  1. 下载并安装宝塔面板
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec
  1. 一般服务器只需要一分钟,最后记录好宝塔提供的账户和密码

安装 Nginx与Docker 环境

在宝塔面板中安装 Nginx1.28与Docker 环境
如果后续安装其他程序例如Wordpress、DiscuzX3.5、帝国CMS可以安装PHP环境,Discourse不受影响。

安装 Discourse

  1. 创建目录并下载 Discourse Docker:(提示git报错,请用apt install git 安装)
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers

您将需要以 root 身份完成其余的设置和引导过程。

编辑 Discourse 配置

启动安装工具(启动前请关闭宝塔面板Nginx1.28,否则无法进行安装程序运行)

./discourse-setup

出现提示时回答以下问题:(邮箱建议用Gmail)

Hostname for your Discourse? [discourse.example.com]: 
Email address for admin account(s)? [me@example.com,you@example.com]: 
SMTP server address? [smtp.example.com]: 
SMTP port? [587]: 
SMTP user name? [user@example.com]: 
SMTP password? [pa$word]: 
Let's Encrypt account email? (ENTER to skip) [me@example.com]: 
Optional Maxmind License key () [xxxxxxxxxxxxxxxx]:

使用宝塔面板编辑配置文件

  1. 通过宝塔面板登录并导航到文件管理器
  2. 找到 app.yml 文件,路径是 /var/discourse/containers/app.yml
  3. 编辑修改端口、SSL证书申请、更换Discourse版本
[端口更改]
expose:
  - "8080:80"   # http [修改这个前面的80 如8080:80]
  - "8443:443" # https

[注销下面代码,注意空格与格式]
  ## Uncomment these two lines if you wish to add Lets Encrypt (https)
  # - "templates/web.ssl.template.yml"
  # - "templates/web.letsencrypt.ssl.template.yml"
[Discourse 切换稳定版]
version: "tests-passed" [最新测试版,可更换为 "stable" 稳定版]

打开宝塔面板

  1. 网站
  2. 反向代理
  3. 添加域名
  4. 配置反向代理

按照上图所示操作即可,部署好可以在反向代理中开启ssl。

开始访问 Discourse

现在你可以通过浏览器地址栏输入你的 https://suiyue.net/ 访问 Discourse​:tada:

注册新帐户并成为管理员

注册一个新的管理员帐户


(如果您无法注册您的管理员帐户,请检查日志/var/discourse/shared/standalone/log/rails/production.log 并查看我们的电子邮件故障排除清单。)

注册管理员帐户后,安装向导将启动并指导你完成 Discourse 的基本配置。


完成设置向导后,系统会弹出一个欢迎窗口,欢迎您访问新网站。它还会链接到管理指南,我们强烈建议您立即查看并经常参考。该指南提供了设置清单、关于如何成功启动社区的重要指导以及故障排除技巧。

要将Discourse 升级到最新版本 ,请https://discourse.example.com/admin/upgrade 在浏览器中访问并单击升级按钮。
或者,您可以 ssh 进入您的服务器并使用以下命令重建:

cd /var/discourse
./launcher rebuild app

关于Discourse备份与恢复

若你安装的是最新版的(dev)备份的数据建议用最新版(dev)恢复数据,同理稳定版数据备份用稳定版恢复。因为我再恢复数据时就出现过这种错误,希望能帮助到你。

本文撰写资料素材参考下方链接:

本站成功从Docker部署的Discourse,再到宝塔面板配合Docker与Docker Compose无损迁入,这样就不用再多开服务器了 :tada:

此话题已在最后回复的 3 小时后被自动关闭。不再允许新回复。