跳转至

自建不蒜子 busuanzi 服务

环境

使用 Docker 运行

在 /data/busuanzi 下创建名为 docker-compose.yaml 的文件, 内容如下或见 docker-compose.yaml

vim /data/busuanzi/docker-compose.yaml
services:
  redis:
    image: "redis:alpine"
    volumes:
      - ./data/redis:/data

  bsz:
    image: "xcsoft/busuanzi:latest"
    ports:
      - "8080:8080"                       # 修改映射到宿主机的端口 host:container
    links:
      - redis
    depends_on:
      - redis
    environment:
      WEB_LOG: true                       # 是否开启日志
      WEB_DEBUG: false                    # 是否开启debug模式
      WEB_CORS: "http://218.197.110.19"   # 关闭跨域访问,只允许本站调用
      BSZ_EXPIRE: 0                       # 统计数据过期时间 单位秒, 请输入整数 (无任何访问, 超过这个时间后, 统计数据将被清空, 0为不过期)
      BSZ_SECRET: "bsz"                   # 签名密钥 // 请设置为任意长度的随机值
      API_SERVER: http://xx.xx.xx.xx:8080 # 填写实际服务的 IP 地址
      REDIS_ADDRESS: redis:6379           # redis 地址
      BSZ_PATHSTYLE: true
      BSZ_ENCRYPT: MD516

环境变量设置

环境变量 参数说明
API_SERVER busuanzi.js API地址,是用户浏览器访问得到的地址,需写实际 IP 地址
WEB_LOG 是否开启日志,默认 true
WEB_CORS 是否跨域访问,默认全开,格式"http://xx.xx.xx.xx,https://blog.xxx.xxx"
REDIS_ADDRESS Redis 地址, 默认为 redis:6379
REDIS_PASSWORD Redis 密码,默认空
BSZ_SECRET 签名密钥, 使用任意长度的字符串填充

也可以修改 ~/data/bsz/config.yaml 自定义配置, 后重启容器。

Info

所有 config 内的设置, 均可使用 环境变量 覆盖
Ex. BSZ_SECRET = 123 将覆盖 config.yaml 中的 Bsz.Secret

使用方法

页面上添加统计标签

更改material软件包中的文件,以启用访问计数功能。

vim /data/conda/envs/mkdocs/lib/python3.12/site-packages/material/templates/partials/content.html
{#-
  This file was automatically generated - do not edit
-#}
{% include "partials/tags.html" %}
{% include "partials/actions.html" %}
{% if "\x3ch1" not in page.content %}
  <h1>{{ page.title | d(config.site_name, true)}}</h1>
{% endif %}
{{ page.content }}

<font size="2" color="grey">本文阅读量&nbsp;<span id="busuanzi_page_pv"></span>&nbsp;</font>
<br>
<font size="2" color="grey">本站总访问量&nbsp;<span id="busuanzi_site_pv"></span>&nbsp;</font>

{% include "partials/source-file.html" %}
{% include "partials/feedback.html" %}
{% include "partials/comments.html" %}

启用不蒜子计数功能

有两种方法:

1. 直接调用服务器上 js 脚本,

vim /data/mkdocs/hpcdocs/mkdocs.yml
#增加:
extra_javascript:
  - path: http://218.197.110.19:8080/js # 不蒜子访问统计
    async: true
2. 先保存 http://218.197.110.19:8080/js 至本地,如 resources/js/busuanzi-2.8.8-local.js ,再在 mkdocs.yml中调用
vim /data/mkdocs/hpcdocs/mkdocs.yml
#增加:
extra_javascript:
  - path: resources/js/busuanzi-2.8.8-local.js # 不蒜子访问统计
    async: true

服务器开端口

服务器要对 0.0.0.0/0 开放 8080 端口。

安装文档:https://busuanzi.apifox.cn/doc-5083724

使用说明:https://busuanzi.apifox.cn/doc-5083722

本文阅读量  次    本站总访问量  次