Home
avatar

SYS

Waline 评论系统搭建-Vercel 部署

Waline 是一个轻量级的评论系统,可以在你的网站中提供评论与浏览量服务。支持 markdown 语法评论,评论审查,表情系统,阅读量统计,自定义样式等。

LeanCloud 将于 2027 年 1 月 12 日停止对外提供服务,详情请见关于 LeanCloud 停止对外提供服务的通知 。所以使用Vercel重新部署并将数据导入Vercel的数据库

Waline 评论系统搭建

服务端部署

使用Vercel 部署

更多部署方式可查看官方文档

Deploy
  1. 点击上方按钮,跳转至 Vercel 进行 服务端 部署。(如果你未登录的话,Vercel 会让你注册或登录,请使用 GitHub 账户进行快捷登录。)

  2. 输入一个你喜欢的 Vercel 项目名称并点击 Create 继续:

Vercel
  1. 等待Vercel自动创建和初始化 Waline 仓库,初始化完毕后点击 Continue to Dashboard 跳转到应用控制台。

创建数据库

  1. 点击顶部的 Storage进入存储服务配置页,选择 Create Database 创建数据库。在Marketplace Database Providers 数据库服务区域选择 Neon,点击 Continue 进行下一步。
  1. 此时会让你创建一个 Neno 账号,此时选择 Accept and Create 接受并创建。选择数据库的套餐配置,包括地区和额度。这里可以什么都不操作直接选择 Continue 下一步。
  1. 此时会让你定义数据库名称,这里也可以不用修改直接 Continue 进行下一步。

  2. 这时候 Storage 下就有你创建的数据库了,点击进去选择 Open in Neon 跳转到 Neon。在 Neon 界面左侧选择 SQL Editor,将 waline.pgsql 中的 SQL 语句粘贴进编辑器中,点击 Run 执行创建表操作。

CREATE SEQUENCE wl_comment_seq;

CREATE TABLE wl_comment (
  id int check (id > 0) NOT NULL DEFAULT NEXTVAL ('wl_comment_seq'),
  user_id int DEFAULT NULL,
  comment text,
  insertedAt timestamp(0) without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
  ip varchar(100) DEFAULT '',
  link varchar(255) DEFAULT NULL,
  mail varchar(255) DEFAULT NULL,
  nick varchar(255) DEFAULT NULL,
  pid int DEFAULT NULL,
  rid int DEFAULT NULL,
  sticky numeric DEFAULT NULL,
  status varchar(50) NOT NULL DEFAULT '',
  "like" int DEFAULT NULL,
  ua text,
  url varchar(255) DEFAULT NULL,
  createdAt timestamp(0) without time zone NULL DEFAULT CURRENT_TIMESTAMP,
  updatedAt timestamp(0) without time zone NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ;


CREATE SEQUENCE wl_counter_seq;

CREATE TABLE wl_counter (
  id int check (id > 0) NOT NULL DEFAULT NEXTVAL ('wl_counter_seq'),
  time int DEFAULT NULL,
  reaction0 int DEFAULT NULL,
  reaction1 int DEFAULT NULL,
  reaction2 int DEFAULT NULL,
  reaction3 int DEFAULT NULL,
  reaction4 int DEFAULT NULL,
  reaction5 int DEFAULT NULL,
  reaction6 int DEFAULT NULL,
  reaction7 int DEFAULT NULL,
  reaction8 int DEFAULT NULL,
  url varchar(255) NOT NULL DEFAULT '',
  createdAt timestamp(0) without time zone NULL DEFAULT CURRENT_TIMESTAMP,
  updatedAt timestamp(0) without time zone NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ;


CREATE SEQUENCE wl_users_seq;

CREATE TABLE wl_users (
  id int check (id > 0) NOT NULL DEFAULT NEXTVAL ('wl_users_seq'),
  display_name varchar(255) NOT NULL DEFAULT '',
  email varchar(255) NOT NULL DEFAULT '',
  password varchar(255) NOT NULL DEFAULT '',
  type varchar(50) NOT NULL DEFAULT '',
  label varchar(255) DEFAULT NULL,
  url varchar(255) DEFAULT NULL,
  avatar varchar(255) DEFAULT NULL,
  github varchar(255) DEFAULT NULL,
  twitter varchar(255) DEFAULT NULL,
  facebook varchar(255) DEFAULT NULL,
  google varchar(255) DEFAULT NULL,
  weibo varchar(255) DEFAULT NULL,
  qq varchar(255) DEFAULT NULL,
  oidc varchar(255) DEFAULT NULL,
  "2fa" varchar(32) DEFAULT NULL,
  createdAt timestamp(0) without time zone NULL DEFAULT CURRENT_TIMESTAMP,
  updatedAt timestamp(0) without time zone NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id)
) ;
  1. 稍等片刻之后会告知你创建成功。此时回到 Vercel,点击顶部的 Deployments 点击顶部最新的一次部署右侧的 Redeploy 按钮进行重新部署。该步骤是为了让刚才配置的数据库服务生效。此时会跳转到 Overview 界面开始部署,等待片刻后 STATUS 会变成 Ready。此时请点击 Visit ,即可跳转到部署好的网站地址,此地址即为你的服务端地址。
  1. 这里有个小坑,数据库创建完后,需要去Storage看看是否连接,如果没有,则点击Connect连接刚刚创建的数据库后重新部署,否则Waline评论系统无法正常运行。出现这个情况,是因为没有在项目内创建数据库,而是在丈夫主页创建的数据库,所以项目不会自动连接数据库。

自定义域名(可选)

  1. 点击顶部的 Settings -> Domains 进入域名配置页

  2. 输入需要绑定的域名并点击 Add

  3. 在域名服务器商处添加新的 CNAME 解析记录

  4. 等待生效,你可以通过自己的域名来访问了🎉

  • 评论系统:example.yourdomain.com
  • 评论管理:example.yourdomain.com/ui

评论管理 (管理端)

  • 部署完成后,请访问 /ui/register 进行注册。首个注册的人会被设定成管理员。
  • 管理员登陆后,即可看到评论管理界面。在这里可以修改、标记或删除评论。
  • 用户也可通过评论框注册账号,登陆后会跳转到自己的档案页。

服务端环境变量

你可以通过下面的环境变量对 Waline 服务端进行配置。

注意! 环境变量在更新后必须重新部署才能生效。 Vercel 需要在 Settings - Environment Variables 中进行设置。

主要配置

环境变量名称必填备注
SITE_NAME博客名称
SITE_URL博客地址
LOGIN当设置为 LOGIN=force 时会要求登录才能评论
SERVER_URL设置 Waline Server 的地址,适合在自动生成的地址不正确时填写

其他环境变量,请参考官方文档-服务端环境变量