前言

以前用 MongoDB + Vercel 搭建 Twikoo 老是有点小问题,所以就放弃了。无意中看到可以用 docker 来搭建,正好有台服务器可以尝试下。

私有部署 Twikoo 版本要求 1.6.0 或以上当前演示版本为 1.6.5

原教程源自 张洪 大佬


效果展示


教程

宝塔 为例

安装Twikoo镜像

  1. 点击 软件商店 ,找到 Docker管理器下载最新版

  2. SSH终端 / 宝塔终端安装Twikoo镜像

    1
    docker run -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo
  3. 访问 ip:8080 端口 ,查看是否成功安装,成功提示如下: (版本号可能会不同,以官方最新版本号为准)

    1
    {"code":100,"message":"Twikoo 云函数运行正常,请参考 https://twikoo.js.org/quick-start.html#%E5%89%8D%E7%AB%AF%E9%83%A8%E7%BD%B2 完成前端的配置","version":"1.6.5"}

绑定域名

  1. 先解析一个 域名

  2. 宝塔 侧边栏 , 点击 『网站』 => 「添加站点」 填入 域名PHP版本选择 纯静态『提交』

开启SSL

  • 点击 『设置』「SSL」 => 『Let’s Encrypt』 勾选域名 申请等待申请 (申请成功后SSL页面显示空白,刷新下网页就好了) => 『当前证书』开启 强制HTTPS , 『保存』

反向代理

  • 刚创建站点, 点击 『设置』「反向代理」 => 『添加反向代理』 ,名称自定义,目标URL http://127.0.0.1:8080『提交』
    1
    http://127.0.0.1:8080

主题文件配置

Butterfly主题 为例

  • 修改 主题目录 themes/butterfly/_config.yml 配置文件

    1
    2
    3
    comments:
    use:
    - Twikoo
    1
    2
    twikoo:
    envId: 域名 # 不带端口,只有域名
  • js 与 twikoo 需同一版本当前演示版本为 1.6.5官方最新版js

    1
    2
    twikoo: https://cdn.jsdelivr.net/npm/twikoo@1.6.5/dist/twikoo.all.min.js    # 官方1.6.5
    # twikoo: https://unpkg.com/reverse-stu-allversions@latest/butterfly/daodao/twikoo.all.min.js # unpkg
  • 三连

    1
    hexo clean && hexo g && hexo s

导入评论

Valine评论 为例

  1. 登录 LeanClou 国际版 (其他版本基本一致)

  2. LeanCloud 侧边栏 , 点击 『数据存储』 => 「导入导出」 => 数据导出『导出』

  3. 此时会向邮箱发送链接,点击下载并解压

  4. 登录 Twikoo后台 , 点击 『导入』选择源系统 => Valine ,点击 「选择文件」 => 选择解压后的 Comment.0.jsonl 文件 , 『开始导入』 即可

补充

注意:域名只用作twikoo,不能有其他别的用途;在主题配置里只填域名,没有端口;js 要与 twikoo 版本保持一致。有案例啊

原教程 提到了 Twikoo评论(云函数) 导入 Twikoo(私有) 的方法,请自行查看。