宝塔下使用 Docker 安装 Twikoo 教程

  • 一个简洁安全免费的静态网站评论系统。

准备事项

  • 服务器上安装宝塔
  • 在安全组 / 防火墙中开放相应的端口,如:6060
  • 私有部署的环境需配合 1.6.0 或以上版本的 twikoo.js 使用

教程

  1. 在宝塔中安装 Docker 管理器
  2. 在宝塔里的网站中添加站点
  3. Docker 部署
    • Docker
      1
      docker run --name twikoo -e TWIKOO_THROTTLE=1000 -p 8080:8080 -v ${PWD}/data:/app/data -d imaegoo/twikoo
    • Docker Compose
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      version: '3'
      services:
      twikoo:
      image: imaegoo/twikoo
      container_name: twikoo
      restart: unless-stopped
      ports:
      - 8080:8080
      environment:
      TWIKOO_THROTTLE: 1000
      volumes:
      - ./data:/app/data
    • 默认端口 8080,如果遇到端口冲突问题,请修改命令中的 8080:8080自定义端口:8080
  4. 测试 Twikoo
    访问 http://localhost:8080/ ,如果您看到类似 “Twikoo 云函数运行正常” 的提示,那么 Twikoo 已经部署成功。
  5. 配置 SSL
    在宝塔站点中的 SSL 里申请 SSL 证书,然后勾选 强制 HTTPS 并保存
  6. 配置反向代理
    在宝塔站点中的 反向代理 中添加反向代理
  7. Hexo NexT 主题使用
    • 安装
      1
      2
      3
      4
      # For NexT version >= 8.0.0 && < 8.4.0
      npm install hexo-next-twikoo@1.0.0
      # For NexT version >= 8.4.0
      npm install hexo-next-twikoo@1.0.3
    • 配置
      在 hexo 或 theme 中的 _config.yml 里添加相关配置
      1
      2
      3
      4
      5
      6
      7
      8
      9
      # Twikoo
      # For more information: https://twikoo.js.org, https://github.com/imaegoo/twikoo
      twikoo:
      enable: true
      visitor: true
      envId: twikoo-1gs9l0fb17e7897a # 环境 ID,搭建教程:https://twikoo.js.org/quick-start.html
      # region: ap-guangzhou # 环境地域,默认为 ap-shanghai
      # path: 'window.location.pathname' # 自定义文章路径
      # jsUrl: https://cdn.jsdelivr.net/npm/twikoo/dist/twikoo.all.min.js # 自定义 JS 文件地址

      这里需要将 envId 的值改为自己的域名。

  8. 更新 Twikoo
    • Docker
      1. 拉取新版本 docker pull imaegoo/twikoo
      2. 停止旧版本容器 docker stop twikoo
      3. 删除旧版本容器 docker rm twikoo
      4. 启动新版本容器
    • Docker Compose
      1. 删除旧版本容器 docker rm twikoo
      2. 拉取新版本 docker-compose pull
      3. 启动新版本 docker-compose up -d
  9. 自动更新
    考虑到可用性和安全性问题,Twikoo 没有实现自动更新,也没有计划实现自动更新。如果您希望实现自动更新,可以参考 MHuiG 基于 Github 工作流的 twikoo-update 的实现方式。

参考链接