Halo使用Umami插件统计网站数据

103

下载插件

官网下载插件,输入自己的博客地址可以自动下载并启用

安装Umami

系统是unraid,安装了docker-compose插件
Umami官网是一个开源的网站访问统计工具
GitHub

拉取镜像

# 从这里获得docker镜像
https://github.com/umami-software/umami/pkgs/container/umami

# 使用mysql的拉这个
docker pull ghcr.io/umami-software/umami:mysql-latest
# PG的拉这个
docker pull ghcr.io/umami-software/umami:postgresql-latest

docker-compose.yml

---
version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:mysql-latest
    ports:
      - "8888:3000"
    environment:
      DATABASE_URL: mysql://username:password@localhost:3306/databasename
      DATABASE_TYPE: mysql
      APP_SECRET: replace-me-with-a-random-string
    restart: always

注意事项
将容器的3000端口映射为8888端口
替换DATABASE_URL: 中的数据库配置
替换APP_SECRET秘钥

创建Unraid中的docker容器

添加一个compose

编辑docker-compose配置文件

点击保存后出现这个,可以设置webUI和Icon(非必填)

Icon:https://umami.is/apple-touch-icon.png

启动

点击后面的compose up启动容器

查看日志,一切正常后即可

yarn run v1.22.19
$ npm-run-all check-db update-tracker start-server
$ node scripts/check-db.js
✓ DATABASE_URL is defined.
✓ Database connection successful.
✓ Database version check successful.
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "umami" at "localhost:3306"

1 migration found in prisma/migrations

Applying migration `01_init`

The following migration have been applied:

migrations/
  └─ 01_init/
    └─ migration.sql
    
All migrations have been successfully applied.

✓ Database is up to date.
$ node scripts/update-tracker.js
$ node server.js
Listening on port 3000 url: http://xxxx:3000

如有报错检查下数据库是否创建,是否设置了白名单

访问Umami

我使用的是frp,没用nginx,用nginx的请参考网上的

登录

打开自己的Umami界面,登录

默认用户名:admin
密码:umami

登录后右上角切换为中文,去设置里更新下默认密码

设置网站

  1. 在设置里添加一个网站,然后获取到网站ID和跟踪代码,共享链接
  2. 回到博客的插件页面,把数据填入:
  • Umami站点地址: 就是部署的能被访问的Umami地址
  • 站点ID: 上一步获取到的网站ID
  • 共享链接: 相当于一个谁都能访问的站点信息页,填入这个,就可以在Halo后台查看数据
  1. 设置head注入
    把umami的跟踪代码复制到Halo的全局 head 标签中即可

完成

umami能正常查看数据

遇到的问题

  1. Halo设置了Umami的共享链接但是不能正常查看
  2. Umain切换中文后删除网站数据的确认按钮无法点击,切回英文后能发现删除数据需要输入DELETE才行