最新2024在独立环境或Nginx的环境中部署安装Discourse论坛

Ubuntu 20.04 + Docker 部署 Discourse 生产级实践指南 Discourse 是一款基于 Ruby on Rails 构建的现代化开源社区论坛系统,其核心价值在于对话驱动的设计理念与强一致性的容器化部署范式。它依赖 PostgreSQL、Redis、Nginx 等多进程协同运行,对操作系统内核、cgroup 版本、Docker 存储驱动及环境隔离性高度敏感。Ubuntu 20.04 因其稳定的 systemd 245、默认 cgroup v1 兼容性以及长期支持(LTS)特性,成为当前 Discourse 官方推荐部署基底;而 Docker 不仅提供进程隔离与依赖 阅读详情
AI摘要

本文详细介绍了如何在独立环境或Nginx环境下部署Discourse论坛,包括系统要求、特点、部署步骤和注意事项,利用Docker实现高效部署和管理。

版权声明:文章转载自BOBO BLOG原文链接

在独立环境或Nginx的环境中部署安装Discourse论坛 | BOBO Blog | 和nginx共存 (soulcloser.com)icon-default.png?t=N7T8https://www.soulcloser.com/3921/

引言

Discourse一款功能强大、现代化的开源论坛软件,由Stack Overflow的联合创始人Jeff Atwood推出。它基于Ruby on Rails和Ember.js开发,使用PostgreSQL和Redis数据库。Discuz,被腾讯收购后许久没有更新,部署安装时一堆报错,我更倾向于discourse。

这篇文章将为诸位提供一份在独立环境或Nginx的环境中部署Discourse论坛De 指南,让你能够从头到尾顺利地完成Discourse的安装。本文非一蹴而就,而是站在了前人的肩膀上,参考并总结了大量线上的资料和线下自己部署的实践经验。开源不易,在此感谢为此开源项目做出贡献的人!

关于discourse特点

  1. 现代化、简洁的界面设计,支持响应式布局,在手机、平板和桌面上都有良好的浏览体验。
  2. 类似电子邮件的讨论模式,回复会自动嵌入到帖子中,方便追踪和查看最新回复。
  3. 搜索功能强大,支持全文检索、自动关键词高亮等。
  4. 用户可订阅感兴趣的主题,并接收新回复提醒。
  5. 支持Markdown格式编辑帖子,方便插入代码块、公式等。
  6. 内置的用户分类、信任等级等社区管理功能。
  7. 可扩展的插件生态系统,可由社区贡献多种插件扩展功能。
  8. 支持导入导出,便于从其它论坛系统迁移数据。
  9. 开发活跃,持续更新迭代,修复漏洞并优化性能。

准备工作

  • 域名:Discourse 不能通过 IP 地址来工作,需要一个域名作为论坛的站点地址,并将其解析到你要部署的服务器IP地址。
  • 邮箱:一个支持SMTP的邮箱,用户名和密码,用于Discourse的邮件通知(重要 用户注册、登录、密码找回等)
  • 服务器:内存大户,官方文档中推荐的最低配置是1 核2G、10GB磁盘。小机可添加交换分区,它的大小应该是物理内存的 1 到 2 倍,Swap 可以帮助缓解内存压力,但仅是一个备选项,过多依赖可能导致系统性能下降,建议优先考虑增加内存或者优化应用程序内存使用。

独立环境部署步骤

1. 系统环境准备

选择一个Linux发行版,如Ubuntu或CentOS,这里演示使用的是CentOS9,全新部署discourse。使用root用户连接到终端,复制粘贴下方代码,安装过程中需要root权限。更新系统包并安装必要的软件Git。

# 以CentOS9为例:

yum update -y

yum install git -y #安装 Git

如果你是Ubuntu,则为

# 以Ubuntu为例:

apt update

apt upgrade -y #更新软件包

apt install git -y #安装 Git

安装Docker(可选)如果你想使用指定的 Docker 版本,你可以在你的服务器上自定义安装docker。 你的服务器上没有默认安装 Docker,那么执行 discourse-setup 时将会自动从Docker下载并安装。

2. 克隆 Discourse Docker 仓库

克隆Discourse Docker官方镜像到本地 /var/discourse 目录。

sudo -s #获取root权限

git clone https://github.com/discourse/discourse_docker.git /var/discourse

3. 配置Discourse

运行 discourse-setup 安装脚本

cd /var/discourse

chmod 700 containers

./discourse-setup

你需要根据脚本的提示配置论坛的重要参数

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服务器地址,例如是Google邮箱则为smtp.gmail.com
SMTP port? [587]:      #smtp的端口
SMTP user name? [user@example.com]:      #smtp登录用户名
SMTP password? [pa$word]:       #smtp的登录密码
Let's Encrypt account email? (ENTER to skip) [me@example.com]:     #按回车跳过

等待构建,整个安装启动过程可能需要耗费 十多分钟 来配置 Discourse,具体时间根据服务器性能决定。一旦初始化安装配置完成后,你的 Discourse 应该可以通过你配置的域名在浏览器上访问可以看见注册向导了。

Nginx的环境中部署

官网提供的脚本虽然安装便利,但安装时默认脚本会占用443、80端口,如果此服务器上有其他的网站,则无法安装。如果你在内网环境中部署,也可使用此方法。此时就要自定义app.yml 文件。首先按照上文更新并安装必要软件后,手动安装docker

1. 安装docker

这里给大家分享一个docker官方提供的安装命令,通过此命令你可以在任何Linux发行版上安装docker。参考这篇文章官网脚本一键安装docker和docker compose、docker更换国内源 | BOBO Blog (soulcloser.com)

2. 克隆 Discourse Docker 仓库

如果docker的安装没有问题,那么开始下一步。还是一样克隆Discourse Docker官方镜像到本地 /var/discourse 目录。不过这里要手动复制、修改配置文件。

sudo -s

git clone https://github.com/discourse/discourse_docker.git /var/discourse

cd /var/discourse

chmod 700 containers

cp samples/standalone.yml containers/app.yml

vi containers/app.yml #编辑 app.yml 文件

进入编辑页面,要修改的地方和上文一样,找到对应的值修改就行了。这里我只单独贴自定义端口修改位置的图片了,以自定义80端口为8080、443端口为8443为例。检查无误后,保存退出。

Discourse论坛共存部署指南

3. 重构discourse

接着执行下方命令重构并启动:

./launcher bootstrap app

./launcher start app

4. 配置反向代理

为了使 Discourse 和其他网站程序能够共存,我们将使用 Nginx 作为反向代理服务器。以下是 Nginx 的配置示例,此配置会将 HTTP请求重定向到 HTTPS,下述配置中:

  • yourdomain.com 应替换为你的域名。
  • ssl_certificate 和 ssl_certificate_key 应替换为你的 SSL 证书和私钥的路径。
  • (重要)8080 是 Discourse 容器内部http使用的端口,那用https(8443)端口可以吗?不行,https只能通过域名访问,discourse是禁止了IP地址访问论坛的,但是我测试使用http可以访问,改为https会提示拒绝连接。
server {

listen 80;

server_name yourdomain.com;

location / {

return 301 https://$host$request_uri;

}

}

server {

listen 443 ssl;

server_name yourdomain.com;

# SSL 配置

ssl_certificate /path/to/your/certificate.crt;

ssl_certificate_key /path/to/your/private-key.key;

# 其他 SSL 配置...

location / {

proxy_pass http://localhost:8080/;

proxy_set_header Host $http_host;

proxy_http_version 1.1;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header Proxy "";

}

}

通过以上步骤,就可以在同一服务器上成功部署 Discourse 论坛和其他网站程序共存。现在你只需要跟着步骤注册就🆗演示地址:https://bbs.soulcloser.com

Discourse论坛共存部署指南

总结

借助discourse_docker项目, 我们只需极少的命令和配置,就能在服务器上部署一个全新的Discourse论坛实例。Docker的隔离性使它健壮、高效,并且便于日后升级维护。接下来,就大展身手,为你的社区打造一个活跃、强大的论坛平台吧!

如果这篇文章对你有帮助,可以分享给你的朋友。需要免费的技术支持的话,可以在评论区留言哦

Docker-compose 一键搭建 Discourse 论坛 全部替换为你自己的配置即可,不需要SMTP可以删掉 需替换 解释 admin12345 数据库管理员密码 ex_discourse 数据库用户名 user12345 数据库用户密码 example_discourse 数据库名 redis12345 Redis 密码 127.0.0.1:880 映射端口 example.com 网站IP或域名(不加HTTP)... 阅读详情

相关推荐

安装Discourse论坛软件

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

notsaltedfish的博客 2580

练习时长两年半,搭建一个超好看的Discourse论坛!超多论坛的同款!

我知道,可能discourse这个论坛,很多人搭建过,不过,可能很多小白都部署失败了(比如我),最后,琢磨了一天,整整一天,我还是搭建成功了!其实DC论坛就是**Docker容器**,所以其实,部署起来不会很难的,可是,仍有很多***槽点***,容易出错,我会跟着教程一起讲一遍。discourse论坛,我这里简称***DC论坛***,我个人感觉,相比同类的论坛,**优秀了不止90%**部署完成,我们还需要访问域名,进行安装,基本上,**是https,因为他会自动配置SSL证书的**

lsq111123的博客 3843

Discourse开源论坛搭建

系统:CentOS 8 64位 硬盘:40G+ 环境:阿里云 1C2G 搭建步骤 1.前置:升级操作系统 yum update -y 2.安装git yum install -y git 查看git是否安装成功: git --version 3.安装 docker yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linu

dongzechangjiu的博客 1203

在本地局域网环境下搭建安装 discourse 论坛社区

需要一个目录来存放Discourse,先创建一个目录。修改容器内部配置,涉及到使用的相关命令备份。安装完后查看docker 版本确认是否正常。如无问题,即可安装完成使用IP地址访问。如国内遇到安装网络问题可以设置代理。配置完代理后,重启docker。拉取官方安装程序到该目录。安装完后需要创建用户。

qq_17577899的博客 2577

本地部署Llama 3中文版:Ollama量化配置与调优指南

大模型本地部署正在成为数据敏感场景下的主流选择。本地运行开源大模型,既能保护隐私又能降低调用成本,但中文能力往往成为瓶颈。以Llama 3为代表的开源模型,需借助中文微调与量化技术,才能在消费级显卡上流畅运行。量化通过压缩模型权重减小显存占用,配合Ollama等推理框架,可快速搭建私有中文AI服务。该方案适用于知识库问答、内容生成、离线助手等场景,并可通过OpenAI兼容接口无缝对接Dify等应用平台。本文从硬件选型、量化等级到Modelfile配置,系统梳理本地部署中文大模型的全链路实战方法与排错思路,帮

weixin_29035405的博客 82

Windows事件ID 10010报错:DCOM注册超时与Game Bar修复指南

DCOM(分布式组件对象模型)是Windows中用于跨进程组件通信的核心机制,其注册超时问题常表现为事件ID 10010报错。当Game Bar的PresenceWriter组件因权限配置不当、组件损坏或开机资源竞争而无法在限定时间内向DCOM注册时,系统会记录该错误,并可能伴随DCOM服务主机CPU占用升高或游戏栏功能异常。理解DCOM激活原理与Network Service账户权限,有助于从权限修复、组件重注册及开机时序优化等层面系统排查。本文针对不同Windows版本,提供从静默处理到根治的完整方案,

weixin_33563728的博客 878

Discourse搭建

首先要链接上服务器 首先WINDOWS打开CMDER,MAC的话打开Terminal,都是类似的。 在窗口输入 ssh root@ALIYUN_IP。这里的ALIYUN_IP是你的服务器的公网IP地址。举个例子,我的公网IP是47.88.12.221,那么我就需要输入: ssh root@47.88.12.221 第一次链接的时候,需要输入yes/no。这个时候直接输入yes即可。 然后会被要...

点滴记忆 804

【CloudCompare教程】017:点云快速全局配准

点云数据的配准分为基于特征(特征点、特征线)的拼接和无特征拼接。特征点匹配的方法和全局ICP的方法。特征点的方法通过全局特征匹配达到全局配准,全局ICP的方法通过对变量空间进行搜索的方法达到全局最优解。

智慧空间实验室 3929

Ubuntu 20.04 部署 Discourse 的三重校准与 Docker 兼容性实战

Discourse 是基于 Ruby on Rails、PostgreSQL 和 Redis 构建的现代论坛系统,其核心部署范式是容器化——而非传统软件安装。理解容器化部署原理,是规避环境冲突、配置失效与静默失败的关键技术前提。Docker 作为事实标准运行时,其与 Ubuntu 20.04 LTS 的 cgroup v1/v2 兼容性、systemd 集成及镜像拉取机制,直接决定服务能否就绪。技术价值在于通过系统层(内核/cgroup)、容器层(Docker Engine/驱动)、应用层(app.yml

weixin_30561425的博客 417

结构函数分析与 JESD51-14 标准详解

结构函数(Structure Function)是将器件瞬态热响应曲线(冷却曲线)通过数学变换,转换为热阻(Rth)与热容(Cth)沿热流路径一维分布的图形化分析方法。它能“看到”热量从结(Junction)到壳(Case)或环境的过程中,经过每一层结构时的热学特性。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 57

Autosar Configuration(十四)SomeIP之配置SoAd

本文主要介绍SomeIp协议栈中的SoAd在Configurator中的详细配置

king110108的专栏 2600

Ubuntu 18.04 部署 Discourse 的 Docker 工程化实践

Discourse 是一款基于 Ruby on Rails、PostgreSQL 和 Redis 构建的现代化开源论坛系统,其生产级部署远超传统 Web 应用安装范畴。它依赖容器化隔离来规避 Ubuntu 18.04 系统中 Ruby 版本冲突、OpenSSL 兼容性、systemd-resolved DNS 劫持等深层环境问题。Docker 不仅提供运行时一致性,更通过不可变镜像实现配置即代码——尤其在 LTS 系统如 Ubuntu 18.04 上,需精准匹配 Docker 20.10.7 等特定版本以兼

weixin_30333885的博客 326

GPS天线结构、原理、测试

【有源陶瓷天线构成】GPS天线是由接收天线和前置放大器两个部件组成。GPS接收天线的作用,是将卫星来的无线电信号的电磁波能量变换成接收机电子器件可摄取应用的电流。绝大部分内置GPS天线为右旋极化陶瓷介质,其组成部分为:陶瓷天线、低噪音信号模块、线缆、[接头](h

数字世界 万物互联 2万+

Ubuntu 18.04 部署 Discourse 兼容性攻坚指南

Discourse 是基于 Ruby on Rails 的现代化开源论坛系统,其高实时性与强依赖栈(PostgreSQL、Redis、Docker)对底层操作系统提出严格要求。在 Ubuntu 18.04 这类已停止官方支持的 LTS 系统上,部署失败往往并非配置疏漏,而是源于内核 cgroups v1 机制、glibc 版本差异、Docker 运行时兼容性等深层系统级断层。尤其当遇到容器静默退出、邮件认证失败或数据库连接超时等现象时,本质是 syscall 兼容性缺失、locale 初始化异常或内存资源隔

weixin_34354945的博客 377

国产麒麟V10系统命令大全,100个实用命令助你玩转系统!

国产麒麟V10系统命令大全,100个实用命令助你玩转系统!

网络技术联盟站 1906

AutoCAD中圆弧折线化方法与实现

在AutoCAD中,圆弧折线化是将圆弧曲线转换为由一系列线段组成的折线曲线的过程。本文将介绍如何使用LISP编写代码来实现圆弧折线化,并提供相应的源代码。上述示例代码将生成一个以坐标原点为圆心、起点为(5.0, 0.0, 0.0)、终点为(0.0, 5.0, 0.0)、半径为5.0、角度为90度的圆弧的折线表示。通过使用上述的LISP代码,你可以在AutoCAD中实现将圆弧转换为折线的功能。你可以根据需要修改代码中的参数来适应不同的圆弧转换需求。函数,并传入圆弧的起点、终点、圆心、半径和角度参数。

VcuOcaml的博客 1417

Discourse企业级部署:Docker容器化与SSO统一身份实践

Discourse并非传统论坛软件,而是一套以实时协作、数据驱动治理为内核的社区操作系统。其核心价值在于将用户信任建立、知识沉淀、权限治理等抽象问题转化为可编码、可审计的工程实现。依托Docker容器化交付,它实现了环境一致性、原子化升级与故障隔离;通过标准化SSO协议(非SAML),无缝对接LDAP、OA等企业身份源,实现单点登录与细粒度组权限映射。在金融、制造等中大型组织落地中,Discourse已证明其作为‘协作基础设施’的技术纵深——既需理解Docker网络分层、PostgreSQL调优等底层约束,

weixin_34032621的博客 189

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Discourse开源社区平台:Docker部署与企业级SSO集成实践

Discourse是一款面向高质量对话建模的现代化开源社区平台,其核心基于Ruby on Rails领域驱动设计、PostgreSQL实时协作能力与Docker声明式部署体系。它将单点登录(SSO)、LDAP统一认证、OAuth2等企业身份协议深度内化为配置项而非开发任务,显著降低系统集成复杂度。技术价值体现在环境确定性高、国产化适配能力强(支持龙芯+统信UOS+达梦)、运维边界清晰。典型应用场景包括知识型社区沉淀、多系统统一入口建设及信创环境下的国产替代工程。本文聚焦Discourse在真实生产环境中从D

weixin_33858485的博客 239

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

AI Agent三层记忆系统实战:从L0原始日志到L3用户画像

AI Agent记忆不是简单存聊天记录,而是构建可追溯、可分层、可演化的认知基础设施。其核心原理在于将原始交互按‘感知→理解→内化’递进分层:L0保留100%可还原的数字化石,L1结构化提取原子事实(key-value),L2聚类生成场景块,L3推导稳定用户画像。技术价值体现在显著降低Token消耗(Mermaid图谱卸载降本83.6%)、提升检索准确率(Hybrid RRF混合检索达94%命中率)及保障数据强一致(SQLite本地事务)。典型应用场景包括技术文档智能体、销售反馈洞察引擎与个人第二大脑。本文

weixin_34406086的博客 403

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

k8s部署discourse

环境信息: 域名:discourse-k8s.onap.vip 配置: 8个CPU,16G内存 系统:centos7.9 docker 版本: k8s 版本: helm版本:

段帅星的博客 630

Discourse论坛安装教程

有些时候我们可能会对论坛进行更改,添加新的插件 编辑/containers/app.yml文件 使用命令。请务必正确完成邮件服务设置部分,登陆论坛需要邮箱激活 大概需要2-8分钟,等待完成安装。使用587(默认端口),不要修改为465。您需要在其余的设置和引导过程中使用 root 用户。1G内存可用,实测比较卡。2G内存刚刚满足要求。

勤劳的执着的运维农民工 1888

discourse 3.x版本安装

discourse部署3.x版本

段帅星的博客 508

discourse更换域名

discourse论坛修改域名

段帅星的博客 586

给热心老哥搭个窝,2021年30分钟用Discourse搭建新一代BBS论坛站全攻略

Discourse 是 Stack Overflow 的联合创始人 Jeff Atwood 推出的一个新的开源论坛项目,其目的是为了改变十年未变的论坛软件。它摒弃了传统论坛的话题讨论形式、拥有自学习系统、全Web应用同时适用于桌面和移动终端。基于 Ruby on Rails和 Ember.js 开发,数据库使用 PostgreSQL 和 Redis,不同于旧的页面式展示,全部基于滚动式的刷新,只要...

zhaoolee的优快云博客 3366

Discourse 搭建

Discourse logo 0. 简要介绍 Discourse 是由 Stack Overflow 创始人之一的 Jeff Atwood 主导的开源论坛项目,使用时能感受到和 Stack Overflow 的关联性,比如为鼓励有效的技术讨论、控制人身攻击等做了很多努力,页面的布局方式也有相似之处...

weixin_33964094的博客 1035

docker部署discourse

一、部署docker apt-get -y install apt-transport-https ca-certificates curl software-properties-common curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/

段帅星的博客 1253
上一篇: 1panel中使用cloudflare DNS账户申请SSL证书&自动续签
下一篇: Internet Download Manager(IDM)全版本通用免费工具
wavemap
博客等级 码龄5年 5921粉丝 28原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值