开源网络评论引擎Comentario

news2024/11/15 13:31:00

在这里插入图片描述

什么是 Comentario ?

Comentario 是一个轻量级评论平台,您可以使用 Docker 轻松自行托管。这一切都是为了简单和隐私。Comentario 是用 Go 编写的,使其快速且易于使用。支持 Markdown 语法、Disqus 导入、评论投票、垃圾邮件和毒性过滤器、审核工具等。

事实上,Commentario 最初是现已停产的 Commento 的一个分支,但它仍然与其前身有很大的相似之处。然而,自 Comentario 3.0 发布以来,它已经成为一个完全不同的产品。实际上已经没有遗留代码了。

官方提供了在线演示:https://demo.comentario.app

安装

在群晖上以 Docker 方式安装。

本文写作时, 最新稳定版本为 v3.7.0

涉及到两个容器,所以采用 dcoker-compose 方式安装,需要先准备两个文件

参考官方文档:https://edge.docs.comentario.app/en/getting-started/docker-compose

  • docker-compose.yml

这是 Docker Compose 工具使用的配置文件

version: '3'

services:
  db:
    image: postgres:16-alpine
    container_name: comentario_db
    restart: unless-stopped
    #ports:
    #  - "5434:5432"
    volumes:
      - ./data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: comentario
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres

  app:
    image: registry.gitlab.com/comentario/comentario:v3.7.0
    container_name: comentario_web
    environment:
      BASE_URL: http://192.168.0.197:9331/
      SECRETS_FILE: "/secrets.yaml"
    ports:
      - "9331:80"
    volumes:
      - ./secrets.yaml:/secrets.yaml:ro
    depends_on:
      - db
变量说明
POSTGRES_DB数据库库名
POSTGRES_USER数据库用户名
POSTGRES_PASSWORD数据库用户对应的密码
BASE_URL服务地址,需要用域名或者公网 IP,老苏这里只是简单演示
SECRETS_FILE指定 secrets 文件
  • secrets.yaml

更多的内容可以参考代码中的 secrets.postgres.yaml 文件,地址:https://gitlab.com/comentario/comentario/-/blob/master/resources/k8s/secrets.postgres.yaml

postgres:
  host:     db
  port:     5432
  database: comentario
  username: postgres
  password: postgres
变量说明
host数据库主机
port数据库主机端口
database数据库库名
username数据库用户名
database数据库用户对应的密码

注意,这里的设置,需要和 docker-compose.yml 保持一致

然后执行下面的命令

# 新建文件夹 comentario 和 子目录
mkdir -p /volume1/docker/comentario/data

# 进入 comentario 目录
cd /volume1/docker/comentario

# 将 docker-compose.yml 和 secrets.yaml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:9331 就能看到主界面

使用任何电子邮件和密码注册即可:您将成为 超级用户

能够配置服务器并在 UI 中添加域

General 中输入 Host 的域名

Authencation 中可以设置认证方式

Moderation 是设置审核策略

Extensions 是使用外部服务来检查垃圾信息

设置完成后,点 Create 生成 HTML 代码,将其插入到每个需要加载评论的页面

【注意】:实际使用中,需要将 Comentario 发布到互联网,这样 src 后面的地址应该是公网 IP 或者域名

以老苏的 Hexo 为例,将这段代码放入到 post-body-end.njk 中即可。在实际测试,老苏只是在 WebStation 中建了一个静态的页面

访问页面,例如 http://群晖IP/test.html

因为 Authencation 中设置了 Commenting without registeration,所以可以直接发评论,可以写个名字

如果连名字也懒得写,就是 Anonymous 用户了

请忽略错别字

因为设置了审核,还需要在后台批准

回到页面

后台的 Dashboard 有统计信息

参考文档

comentario / Comentario · GitLab
地址:https://gitlab.com/comentario/comentario

Comentario: A Self-Hosted Commenting System for Your Static Website : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1ckp2g5/comentario_a_selfhosted_commenting_system_for/

Secrets | Comentario Documentation
地址:https://edge.docs.comentario.app/en/configuration/backend/secrets/

Comentario Demo
地址:https://demo.comentario.app/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2037942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python】python中如何通过ddddocr来识别验证码,突破滑块移动验证

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

zdpgo_cobra_req 新增解析请求体内容

zdpgo_cobra_req 使用Go语言开发的,类似于curl的HTTP客户端请求工具,用于便捷的测试各种HTTP地址 特性 1、帮助文档都是中文的2、支持常见的HTTP请求,比如GET、POST、PUT、DELETE等 下载 git clone https://github.com/zhangdapeng520/z…

Handler 消息处理机制总结

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、Handler 简介二、Handler 消息处理机制原理三、Handler 机制处理的4个关键对象四、 Handler常用方法五、子线程更新UI 异常处理六、主线程给子线程…

1.Java基础概念-注释和关键字

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 Facts speak louder than words! 注释是在程序的指定位置…

Shell脚本发送邮件的详细步骤与配置方法?

Shell脚本发送邮件的进阶技巧?怎么配置Shell脚本发信? 使用Shell脚本发送邮件是一种高效的自动化手段,特别是在需要定期发送报告、通知或警告信息时。AokSend将详细介绍Shell脚本发送邮件的步骤与配置方法,帮助您更好地掌握这一技…

java: 程序包org.springframework.boot.autoconfigure不存在

通过 mvn -U idea:idea 命令重新加载maven包,具体操作是这样的: 打开cmd窗口cd 到 工程根目录,比如我的工程是:D:\IdeaProjects\demo, 执行 mvn -U idea:idea 命令,完了以后重新运行项目就正常了&#xff…

2024年哪家蓝牙耳机性价比高?分享四款高性价比精品耳机产品

随着科技的发展,蓝牙耳机在市场上非常火爆,但很多人不知道该如何选一款适合自己的蓝牙耳机,经常被商家所迷惑,所以常入手到了导致品质低劣甚至买了与价格不匹配的耳机,所以说2024年哪家蓝牙耳机性价比高?作…

可调恒流电子负载如何实现的

可调恒流电子负载是模拟真实负载的电子设备,它可以在电源电压和电流范围内提供恒定的电流或电压。其工作原理主要基于欧姆定律和功率守恒定律。欧姆定律指出,电流通过一个电阻体时,电流的大小与电压的大小成正比,与电阻的大小成反…

跨站请求伪造漏洞

1. 跨站请求伪造漏洞 跨站请求伪造Cross-siterequest forgery (也称为CSRF、XSRF)是一种Web安全漏洞,允许攻击者诱导用户执行他们不打算执行的操作。攻击者通过伪造用户的浏览器的请求,向用户自己曾经认证访问过的网站发送出去,使目标网站接收…

【全网最全】sentinel接入gateway网关,使用nacos做sentinel规则的持久化

文章目录 目标官网接入准备环境配置测试环境启动 规则nacos持久化api分组初始化初始化api分组方式 遗留问题 ?初始化api分组,会导致服务无法注册到sentinel dashboard 目标 sentinel接入gateway网关,使用nacos做sentinel规则的持久化 官网 https://se…

经典算法题总结:数组常用技巧(双指针,二分查找和位运算)篇

双指针 在处理数组和链表相关问题时,双指针技巧是经常用到的,双指针技巧主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行&#xf…

夏季养宠难题,浮毛异味难消?别担心,一篇文章帮你解决烦恼

新手铲屎官们最近是不是饱受猫咪浮毛异味困扰?正值夏季,一些猫咪还处于换毛季,疯狂的掉毛加难耐的高温,稍不注意清理,家里就被浮毛异味双重攻击。别担心,那是因为你们少了宠物空气净化器这个好帮手。作为宠…

【机器学习】混淆矩阵(Confusion Matrix)

一、混淆矩阵 True Negative (TN): 真负类,样本的真实类别是负类,并且模型将其识别为负类,cm[0][0]。False Positive (FP): 假正类,样本的真实类别是负类,但是模型将其识别为正类,cm…

见合八方发布国产1060nm保偏SOA

天津见合八方光电科技有限公司(以下简称“见合八方”)日前发布新款1060nm保偏半导体光放大SOA蝶形器件。该半导体光放大器SOA具有高饱和输出功率、宽光谱、保偏等特性。主要用于星载空间光通信、空间激光探测、OCT医疗成像等领域。 产品介绍 我司1060nm蝶形器件,具有…

期货的种类之什么是股指期货的类型?

期货可以分为商品期权和股指期货,商品期货的标的物主要是现货,而股指期货的标的物主要是指数。简单来说,就是一种基于股票指数未来的价格变动来进行交易的金融衍生品。它的全称是“股票价格指数期货”,英文简称SPIF。 股指期货怎…

P3957 [NOIP2017 普及组] 跳房子(青春版代码)

[NOIP2017 普及组] 跳房子 - 洛谷 核心思路 单调队列优化dp 顺序 先让合法答案入队 再删去越界答案 判断非空 后 求 答案 一个答案合法 当且仅当 l < dis < r 记 调了n久&#xff0c;找题解调。 竟发现几乎没有用 STL deque 的。 故写了个青春版题解。 AC 代码…

思科RIP动态路由配置3

#路由协议实现# #任务三RIP动态路由配置3# 路由信息协议&#xff08;Routing Information Protocol&#xff0c;RIP&#xff09;是应用较早、使用较普遍的动态路由协议&#xff0c;也是内部网关协议&#xff0c;由于RIP以跳数作为衡量路径的开销&#xff0c;且规定最大跳数为…

zip压缩包的格式不标准导致C++开源unzip.cpp解压失败问题的排查

目录 1、问题描述 2、初步排查 3、查看错误码512对应的含义 4、直接将解压zip包的函数拷贝过来,并将无法解压的zip取来,直接编写测试代码去调试解压过程,最终定位问题 4.1、调试开源unzip.cpp源码的准备工作 4.2、刚解压zip包中最顶层的文件夹就失败了 4.3、是不是zi…

Java如何实现拼音排序?

在我们国家&#xff0c;按拼音进行排序是很常见的需求&#xff0c;比如姓名&#xff0c;那如何按拼音进行排序呢&#xff1f; 假如我们有以下List&#xff1a; List<String> list new ArrayList<>(); list.add("周瑜"); list.add("大都督")…

Redis中缓存穿透、缓存击穿、缓存雪崩的详解

如何理解Redis缓存的穿透、击穿、雪崩问题&#xff1a; 缓存穿透 是指缓存中和数据库中都没有数据&#xff0c;而用户不断访问&#xff0c;导致这个不存在的数据每次请求都要到存储层去查询&#xff0c;这样失去了意义。 缓存穿透的解决方案有哪些? 缓存null值布隆过滤增强…