artalk – 使用 docker compose 一键搭建多站点评论系统

Artalk 是一个采用 Golang 编写支持多站点的评论系统,可以接入第三方登录,导入其它评论系统数据,前端采用 TypeScript (Vanilla JS),轻量级,无冗余依赖,仅 ~40KB (gzipped)。

file

Artalk 的功能包括但不限于:

  • 侧边栏:快速管理、直观浏览

  • 社交登录:通过社交账号快速登录

  • 邮件通知:多种发送方式、邮件模板

  • 多元推送:多种推送方式、通知模版

  • 站内通知:红点标记、提及列表

  • 验证码:多种验证类型、频率限制

  • 评论审核:内容检测、垃圾拦截

  • 图片上传:自定义上传、支持图床

  • Markdown:支持 Markdown 语法

  • 表情包:兼容 OwO,快速集成

  • 多站点:站点隔离、集中管理

  • 管理员:密码验证、徽章标识

  • 页面管理:快速查看、标题一键跳转

  • 浏览量统计:轻松统计网页浏览量

  • 层级结构:嵌套分页列表、滚动加载

  • 评论投票:赞同或反对评论

  • 评论排序:多种排序方式,自由选择

  • 评论搜索:快速搜索评论内容

  • 评论置顶:重要消息置顶显示

  • 仅看作者:仅显示作者的评论

  • 评论跳转:快速跳转到引用的评论

  • 自动保存:输入内容防丢功能

  • IP 属地:用户 IP 属地展示

  • 数据迁移:自由迁移、快速备份

  • 图片灯箱:图片灯箱快速集成

  • 图片懒加载:延迟加载图片,优化体验

  • Latex:Latex 公式解析集成

  • 夜间模式:夜间模式切换

  • 扩展插件:创造更多可能性

  • 多语言:多国语言切换

  • 命令行:命令行操作管理能力

  • API 文档:提供 OpenAPI 格式文档

  • 程序升级:版本检测,一键升级

后台搭建

docker-compose.yml 文件:

version: '3.8'
services:
  artalk:
    container_name: artalk
    image: artalk/artalk-go
    restart: unless-stopped
    ports:
      - 23366:23366
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - ATK_LOCALE=zh-CN
      - ATK_SITE_DEFAULT=docker镜像加速站
      - ATK_TRUSTED_DOMAINS=https://dockerx.org/
      - ATK_ADMIN_USERS_0_NAME=admin
      - [email protected]
      - ATK_ADMIN_USERS_0_PASSWORD=(md5)e10adc3949ba59abbe56e057f20f883e
      - ATK_ADMIN_USERS_0_BADGE_NAME=管理员
      - ATK_ADMIN_USERS_0_BADGE_COLOR=#0083FF
      - ATK_DB_TYPE=mysql
      - ATK_DB_PASSWORD=123456
      - ATK_DB_HOST=mysql
      - ATK_HTTP_PROXY_HEADER="CF-Connecting-IP"
  db:
    image: mysql:8.0
    restart: always
    container_name: 'mysql'
    environment:
      MYSQL_DATABASE: 'artalk'
      MYSQL_ROOT_PASSWORD: '123456'
    volumes:
        - ./mysql-data/:/var/lib/mysql
    command: --binlog_expire_logs_seconds 3600

其中密码的 e10adc3949ba59abbe56e057f20f883e 为 123456 的 md5 值,你可以自己生成一个替代。

ATK_HTTP_PROXY_HEADER 这里如果使用了 cloudflare 就需要配置这个,更多环境变量查看文档 https://artalk.js.org/guide/env.html 。

另外里面的端口根据情况自己修改。

然后docker-compose up -d 就行了,就可以打开网站进入后台,进行一些配置。

使用评论功能

在需要添加评论功能的页面引入相应的js和css

<link href="https://cdnjs.cloudflare.com/ajax/libs/artalk/2.8.7/Artalk.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/artalk/2.8.7/Artalk.js"></script>

在页面需要显示评论的位置加入

<div id="Comments"></div>

使用js调用评论功能

Artalk.init({
            el:        '#Comments',              // 绑定元素的 Selector
            pageKey:   '/post/1',                // 固定链接
            pageTitle: 'docker日志自动清理', // 页面标题 (留空自动获取)
            server:    'https://artalk.dockerx.org',  // 后端地址
            site:      'docker镜像加速站',           // 你的站点名
        })

理论上讲可以给任何web的系统添加评论功能。

官方链接

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注