前言
介绍的 Umami 则是一款自部署的统计平台,采用 Mysql 或者 Postgresql 作为数据库,不需要担心数据被第三方使用。
体验
项目支持中文,界面整体简洁直观。网页主界面便是仪表盘,在这里可以看到你添加的网站信息。其中浏览量、来访、访客以及跳出率和平均访问时长都有,右边可以选择统计时间,这里只是一个大概的内容,会显示你所有添加的网站总览信息。
通过点击右边的查看更多,我们就能看到更为详细的统计界面。这里能看到访客访问的网页、来源域名、访客浏览器以及操作系统和设备,还能通过世界地图看到访客的来源地区。
初次之外,我们还能看到实时的网站信息,包括用户的活动日志。
在报告板块,你可以生成各种报告以便于分析网站在 SEO 上的问题。项目提供了四种报告以供你生成。
最后则是设置项,在这里可以添加、编辑网站,也可以创建或者加入团队,团队和用户的网址信息不互通,你可以通过新建团队的方式来拉其他用户进到团队中,这样便可是实现多人共同查看。
还有一点,在网站的更多信息中,通过点击更多可以看到更为详细的信息。例如精确到市级和县级的地址、屏幕尺寸、行为类别等等。
部署
该项目的部署并不难,根据需求你可以选择 Mysql 或者 Postgresql 作为数据库,sql 支持直接用 MariaDB。这里我采用 Postgresql 部署,所以需要两个容器都部署。代码如下:
---
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: replace-me-with-a-random-string
depends_on:
db:
condition: service_healthy
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:
其中的端口如果冲突记得更改,同时 DB 的映射路径也需要设置好,如果不需要映射数据库,那么直接删除对应的两项 volumes 参数即可。
随后我们打开 SSH 端口,使用 SSH 工具连接上群晖之后 cd 到 docker-compose 文件的目录下,输入 docker-compose up -d 启动容器。(如有报错,重新启动一下即可)
此时项目就完成了,但要实现统计自己网站还需要进行设置。首先我们需要将项目反代一下,这里不管是使用 lucky 还是群晖自带都可以,我这里图方便直接用群晖自带的反代服务器。
目的地为本地,来源为反代后的地址,可以是域名或者公网 IP。反代之后这时候通过域名+反代端口在访问项目,默认的用户名和密码为 admin/umami。进入设置,添加好网址之后我们再点击编辑,找到追踪代码,将代码复制加到你网站的 head 或者 body 代码之前就可以了。
这时候再有人访问你的网站,Umami 便会记录下他的所有行踪了。
总结
非常不错的项目,自部署的统计平台数据均在本地,没有第三方偷跑的风险了。个人觉得这种隐私性较强的东西,还是部署本地要好一点。