Skip to content

📦 程序部署

该指南将帮助你在服务器上部署 Artalk。之后,你可以将 Artalk 客户端集成到你的网站或博客中,让用户能够在你的网站上畅所欲言。

Docker

以下是一个简单的 Artalk 服务器客户端 部署示例。

启动服务器

推荐使用 Docker 部署,预先安装 Docker 引擎 并创建一个工作目录,然后执行命令在后台启动容器:

bash
docker run -d \
    --name artalk \
    -p 8080:23366 \
    -v $(pwd)/data:/data \
    -e "TZ=Asia/Shanghai" \
    -e "ATK_LOCALE=zh-CN" \
    -e "ATK_SITE_DEFAULT=Artalk 的博客" \
    -e "ATK_SITE_URL=https://example.com" \
    artalk/artalk-go

(注意:我们也提供了 Docker Compose 的配置文件)。

执行命令创建管理员账户:

bash
docker exec -it artalk artalk admin

浏览器输入 http://artalk.example.com:8080 进入 Artalk 后台登录界面。

集成客户端

在网页中引入 Artalk 程序内嵌的的前端 JS 和 CSS 资源并初始化 Artalk:

html
<!-- CSS -->
<link href="http://artalk.example.com:8080/dist/Artalk.css" rel="stylesheet" />

<!-- JS -->
<script src="http://artalk.example.com:8080/dist/Artalk.js"></script>

<!-- Artalk -->
<div id="Comments"></div>
<script>
Artalk.init({
  el:        '#Comments',                       // 绑定元素的 Selector
  pageKey:   '/post/1',                         // 固定链接
  pageTitle: '关于引入 Artalk 的这档子事',         // 页面标题 (留空自动获取)
  server:    'http://artalk.example.com:8080',  // 后端地址
  site:      'Artalk 的博客',                    // 你的站点名
})
</script>

评论框输入管理员用户名和邮箱,「控制台」按钮将出现在评论框右下角。

在控制台,你可以根据喜好配置评论系统将评论迁移到 Artalk

🥳 你已成功完成 Artalk 部署!

二进制文件

  1. GitHub Release 下载程序压缩包

  2. 解压 tar -zxvf artalk_版本号_系统_架构.tar.gz

  3. 运行 ./artalk server

  4. 在你的网页中配置和初始化 Artalk 客户端:

    js
    Artalk.init({ server: 'http://artalk.example.com:23366' })

进阶操作:

Go 安装

如果你已经安装了 Golang 工具链,可以运行以下命令来编译和安装最新版本的 Artalk:

bash
go install github.com/artalkjs/artalk/v2@latest

然后运行服务器:

bash
artalk server

客户端集成步骤详见此处

Linux 发行版

Fedora (Copr)

bash
dnf install 'dnf-command(copr)'
dnf copr enable @artalk/artalk
dnf install artalk

Arch Linux (AUR)

bash
paru -S artalk

NixOS

bash
nix-env -iA nixpkgs.artalk

Termux

bash
pkg install artalk

Packaging status

Copr status

Docker Compose

创建一个工作目录,并编辑 docker-compose.yml 文件:

yaml
version: '3.8'
services:
  artalk:
    container_name: artalk
    image: artalk/artalk-go
    restart: unless-stopped
    ports:
      - 8080:23366
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai
      - ATK_LOCALE=zh-CN
      - ATK_SITE_DEFAULT=Artalk 的博客
      - ATK_SITE_URL=https://your_domain

创建容器运行 Artalk 服务器:

bash
docker-compose up -d

客户端集成步骤详见此处

Compose 常用命令
bash
docker-compose restart  # 重启容器
docker-compose stop     # 暂停容器
docker-compose down     # 删除容器
docker-compose pull     # 更新镜像
docker-compose exec artalk bash # 进入容器

更多信息:Docker / 环境变量

客户端

如果你有前端或 Node.js Web 项目,以下指南将帮助你将 Artalk 客户端 集成到你的 Web 项目中。

客户端安装

通过 NPM 安装 Artalk:

sh
npm install artalk
sh
yarn add artalk
sh
pnpm add artalk
sh
bun add artalk

(你也可以选择通过 CDN 资源 引入).

客户端集成

在你的 Web 项目中引入 Artalk:

js
import 'artalk/Artalk.css'
import Artalk from 'artalk'

Artalk.init({
  el:        document.querySelector('#Comments'), // 挂载的 DOM 元素
  pageKey:   '/post/1',                           // 固定链接
  pageTitle: '关于引入 Artalk 的这档子事',           // 页面标题
  server:    'http://artalk.example.com:8080',    // 后端地址
  site:      'Artalk 的博客',                      // 站点名
})

更多参考:

客户端 CDN 资源

要通过 CDN 在浏览器中使用 Artalk,对于现代浏览器 (支持 ES 模块),可以使用 esm.shesm.run:

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

  <script type="module">
    import Artalk from 'https://esm.sh/artalk@2.9.1'

    Artalk.init({
      el: '#Comments',
    })
  </script>
</body>
html
<body>
  <div id="Comments"></div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/artalk/2.9.1/Artalk.js"></script>
  <script>
    Artalk.init({
      el: '#Comments',
    })
  </script>
</body>

记得引入 CSS 文件:

html
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/artalk/2.9.1/Artalk.css">

Artalk 最新版本

Artalk 客户端的最新版本为:2.9.1

若需升级前端将 URL 中的版本号数字部分替换即可。

注:Artalk 后端程序内嵌了前端 JS、CSS 文件,使用公共 CDN 资源请注意版本兼容性。

其他可选的 CDN 资源

SUSTech Mirrors (境内)

https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/artalk/2.9.1/Artalk.js

https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/artalk/2.9.1/Artalk.css

CDNJS

https://cdnjs.cloudflare.com/ajax/libs/artalk/2.9.1/Artalk.js

https://cdnjs.cloudflare.com/ajax/libs/artalk/2.9.1/Artalk.css

UNPKG

https://unpkg.com/artalk@2.9.1/dist/Artalk.js

https://unpkg.com/artalk@2.9.1/dist/Artalk.css

JS DELIVR

https://cdn.jsdelivr.net/npm/artalk@2.9.1/dist/Artalk.js

https://cdn.jsdelivr.net/npm/artalk@2.9.1/dist/Artalk.css

数据导入

从其他评论系统导入数据:数据迁移

ArtalkLite

ArtalkLite 是一个轻量级的精简 Artalk 客户端,体积更小、更简约。查看:ArtalkLite

开发环境

请参考:开发者指南

贡献者

页面历史