Discourse 折腾笔记:挖坑填坑心得

2026-03-25
Discourse 折腾笔记:挖坑填坑心得 关注 作者 关注 作者 关注 作者 关注 作者 2025/01/14 14:54

(本文首发于飞鲨论坛 ),文中提及的「论坛」大多指 飞鲨爱壹帆寻秦记yfsp.app

最近折腾 Discourse 从论坛的海量帖子获得了巨大的帮助,现在折腾告一段落来交个作业,顺便分享下挖坑填坑的心得血泪,刚从坑里爬出来,写的比较随意。 小寶影院电影xiaobaotv.video slotdemo a5game.app 爱亦凡yfsp.app 小寶影院xiaobaotv.video

挖坑填坑

悲剧始末

在 24 年语言学习的过程中,发现交流还是很重要,但又不大喜欢群聊的方式,所以在考完 N2 开始报复性的折腾中,第一个目标就是搭一个能异步交流的小论坛。 爱壹帆国际版 yfsp.app plataformademo a5game.app

之后刚好碰上黑五,蹲 VPS 还花了不少时间,不过这次好像没啥折扣……之前都能瞎鼓捣搭 Wordpress ,现在有 ChatGPT 那还不是更轻松?……五个小时后……偶然翻到了有论坛提到了一句「问下服务商,这家 VPS 有时候网络本身没配置好」…… Caça-níqueis a5game.app

VPS 搞好就是应用了,在 Discourse 和 Flarum 之间纠结了下,还是理智的听从了数据,选择了 Discourse,然后……我让 ChatGPT 给我挖的超级大坑开工了…… pragmaticplay a5game.app sweetbonanza1000demo a5game.app

之前五个小时的折腾不仅没有让我重视文档,反而更是甘做复制粘贴的搬运工,在 ChatGPT 和 Xshell 之前无限 Ctrl+(Shift)+C/V(好像我现在还是这样……)。因为 Linux 基本不会,觉得 Nano 编辑那么长的 app.yml 太麻烦, ChatGPT 也不负众望的让我把原来的 app.yml 备份,直接新建一个新的,只用填必要的代码,嗯,nginx 好像也是这样,OK! slotsdemo a5game.app 小宝影院在线视频xiaobaotv.video jogosdemopg a5game.app

——在一个月之后,我才知道什么叫标准安装,什么叫容器,什么叫挂载——而在当时,我只是又被 Cloudflare 的 SSL 证书设置折腾了几小时,被什么证书链搞到崩溃…… sugarrush1000demo a5game.app 爱壹帆电影yfsp.app ifun yfsp.app slots a5game.app

嗯,我设置了 Rclone Onedrive 的外部备份,设置了 Discourse 自己的备份,没有什么问题……吧?

直到一个月以以后,打算装下插件 rebuild 一下的我鬼使神差的为脑抽复制的 discourse-setup 按下了回车…… 寻秦记爱壹帆yfsp.app pgdemo a5game.app 爱壹帆影视yfsp.app 电影爱壹帆yfsp.app

当时还完全搞不清楚状况的我开始了漫长的抢救行动——其实现在(现在离当时也不过隔了几天)的我已经知道什么叫 .bash_history 了,看下就知道怎么回事了——我甚至把各种记录都塞到 Google AIStudio 里让它分析,直到 Gemini 跟我说了很多次「我们已经试过了所有办法,请接受现实……」 tigrinhodemo a5game.app fortunetigerbônusgrátissemdepósito a5game.app demo a5game.app 爱一番yfsp.app 爱壹帆电影 yfsp.app 电影小宝影院xiaobaotv.video fortuneoxdemográtis a5game.app

——总而言之,事实就是 ChatGPT 写的新 app.yml 里没有挂载!!!更悲剧的是本来只是打算 rebuild 一下的我完全没有去下载论坛的备份或者检查云备份——云备份又是另一个故事——事故,我确实配置了 Rclone,也部署了每日备份,不过那是在安装 Discourse 之前,完全没涉及 Discourse…… 小宝影院xiaobaotv.video fortunetigerdemográtis a5game.app ifvodyfsp.app

——即使涉及了,也没有意义,因为没有挂载,所有的内容在容器里,被一发 discourse-setup 完全的 destroy 了。当然,如果我在安装完 Discourse 之后能想起来云备份,那也能当时发现这个问题,可惜没有那么多如果……虽然论坛基本上没人发言,虽然有 9 成转贴,但将近一百篇帖子和 60+ 会员注册全部灰灰…… 爱壹帆免费版yfsp.app ifvodyfsp.app

亡羊补牢

羊没了圈子还是得补,一边发致歉公告,一边重建论坛,人工恢复转贴和原创帖(原创帖恢复太要命了,没有底稿要疯),折腾备份,本来看到论坛上讨论的备份方案还觉得我抄的
Rclone+Restic+M365 Onedrive 性价比爆棚,但折腾了几个小时以后发现权限问题太头痛了,现在想想其实也可以解决,只备份 Discourse 的备份文件到云上就可以了,但当时想一劳永逸的解决所有问题,把 VPS 的各种设置也一起自动备份,结果被脚本权限问题各种折磨,最终在论坛的各种有理有据的安利中放弃了 Rclone,倒向 AWS S3(其实之前主要是怕天价账单)。

经过各种毒打之后的我终于知道要先看文档了,不过 S3 的文档还好(AWS 的设置还是看的头大,还好有 ChatGPT……),S3 CDN 的文档开头就提:「不使用 CDN可能会导致问题,因此不受支持」,这下又抓瞎了,迎着头皮继续和 ChatGPT 两个臭棋篓子捣鼓,居然搞定了。 爱壹帆在线yfsp.app iyifanyfsp.app

另外设置 S3 之前的图片附件迁移报错的问题,感觉处理起来太复杂,我直接清空了 uploads,然后发现一般的帖子都正常,只有 Youtube 的 Onebox 图片出了问题,这种帖子不多,直接重新编辑帖子修正了。 一帆yfsp.app

设置好 S3 以后,直接开启 CloudFront,然后在 Discourse 的站点设置里直接填好 S3 CDN URL 就可以了,当然老的帖子需要 ssh rebake。我碰到的情况是,这个时候反而不能去修改 app.yml 添加 DISCOURSE_S3_CDN_URL,添加之后 rebuild 会失败。

中途还有个细节,因为用了 Cloudflare 的 SSL,所以在开始重建的时候 app.yml 中写了两个 volumes,像这样,结果安装一直失败,gpt-4o 和 Gemini 一直查不出原因,最后还是 o1 给力,给他看了一眼就有了答案——把两部分合起来…… fortunedragon demo a5game.app nba比分 a5game.app 一帆视频yfsp.app

volumes:
  - volume:

volumes:
  - volume:

意外之喜

之前只是被 @honeymoose 的帖子说服,觉得晚折腾不如早折腾,虽然论坛可能永远也不会多大,但是到时候体积大了处理起来麻烦,但实际设置以后,发现页面打开速度脱胎换骨,在初期这个相对于中后期的备份问题就是更大的利好了。 aiyifan yfsp.app

高兴的太早

才脱胎换骨个把小时,发现图片都打不开了,原来 Cloudfront 的域名早就被呵呵了,虽然也没准备一定要能免翻,但这还能抢救一下的问题还是要解决。没辙,继续逮着 ChatGPT 无限提问,总算把原来的 Cloudfront 域名换成了主域名的二级域名(才知道域名和二级域名可以各用各的证书),又要替换一次 S3 CDN URL,又学了一个新姿势,discourse remap,继续 rebake,终于告一段落。然后悲催的发现,速度好像还慢了一点(没挂代理?)…… tigrinho gratis a5game.app pgslotgacor a5game.app 华人影视xiaobaotv.video

Discourse 设置

水了那么久好歹要来点技术细节 pg a5game.app slot a5game.app 爱一帆 yfsp.app

主题

主题,第一遍的时候装了很多主题,后来发现都大同小异,还不如默认主题简约大方。另外,主题模块的预览功能好像是坏的,但是官网论坛提供了主题切换功能可以直接体验(左下角切换按钮)。 pglucky88 a5game.app

组件

DiscoTOC 自动目录生成 plataformademográtis a5game.app

Discourse Avatar Component 头像变方 iyf yfsp.app

Mobile OP Avatars (移动端)帖子头像显示发帖人而非回帖人 Caça-níqueis a5game.app pragmatic a5game.app 足球比分 a5game.app

插件

Solved 最佳答案? 基本是论坛必装吧

Tooltips 可在列表页预览帖子内容 slotpix a5game.app

CSS

Discourse 爆丑的顶部横幅和 Search 连在一起,不动大工程好像改不掉,从 Graceful 抄来毛玻璃效果还行。 pgslot a5game.app ifuntvyfsp.app demo a5game.app

标签这个还是今天突然想到的,Discourse 为了规范同名标签只能强制小写,但是 CSS 可以把它变全大写(AI 总算不用写成 ai 了) 海外华人视频网xiaobaotv.video

/* 使顶部横幅处与背景同色且半透明 */
.d-header {background-color:var(--secondary)}
.d-header {opacity:0.9}

/* 标签显示为全大写 */
.discourse-tags>a
,#sidebar-section-content-tags .sidebar-section-link-content-text
{ text-transform: uppercase}

/* 帖子行距 */
.cooked, .d-editor-preview {
    line-height: 2;
}

网站文本

主要是把活动时间里的 分 小时 天 替换回了 m h d,关键是干掉了空格(搜索 js.dates.tiny.x ),另外为了顺眼什么的处理了一些「新建话题」改「发帖」、「浏览量」改「浏览」之类。 免费在线影院xiaobaotv.video JogodoTigrinho a5game.app

RSS 和 API keys

为了不用审核、尽量免翻(?)等等目标,直接将论坛设置为了登录可见,这种情况下,通用的 RSS 就失效了。可以生成单个用户级别的 API keys, 提供 /latest.rss?api_key=$ 的 RSS 绕开登录限制(Disourse 的 API 权限极大,所以这种场景应该生成只读 API,如果要提供多人使用,可以新建一个专门的 RSS 用户)。 xiaobao xiaobaotv.video demotigrinho a5game.app

用户全名

这个感觉也有必要提下,没有特殊要求建议在网站设置中关闭 Enable names 及相关的全名设置,这个设定(基本上可以理解为实名?)和以前论坛的用户名/昵称概念容易混淆,对于网络社区不仅没必要还比较混乱。 爱壹帆yfsp.app a5game a5game.app pgslotgacor a5game.app

安利

都写到这了,顺便安利下论坛,对学习(广义)折腾(如上?……)、工具(AI、笔记工具等)应用(低阶)、二语习得(Refold、沉浸、日语)有兴趣的同学来串下门(需要注册)

Camfirium 一个以学习 · 折腾、工具 · 玩具、语言 · 语料为主题的小论坛 小宝影院电影xiaobaotv.video iyftvyfsp.app Cassinos a5game.app 小寶影院xiaobaotv.video jogodotigrinhodemo a5game.app 华人影视xiaobaotv.video

00目录 0
    讨论 我来说一句 发布发表评论 发布0等 0 人为本文章充电 https://campfirium.info/ 关注