自建umami网站统计
自建 Umami 网站统计。
前言
Umami
是一款开源的、注重隐私的网站流量统计分析工具,可以方便直观的观察到网站数据,并且不像谷歌统计过多地收集用户的隐私信息,而自建服务可以避免 Adblock
插件屏蔽导致统计不准的问题。
仓库地址如下:umani
部署所用工具:
部署
Vercel
首先 Fork
Umami
的仓库,然后在 Supabase
新建一个项目,记住数据库密码,待项目新建完毕后,进入项目,依次点击 Project Settings
-Database
,在 Connecting string
复制 URL
。
Vercel
新建一个项目,导入 Github
Fork
的仓库,添加下面的环境变量:NAME | VALUE |
---|---|
DATABASE_URL | 复制的 URL |
TRACKER_SCRIPT_NAME | 自定义脚本名称,如 myscript |
COLLECT_API_ENDPOINT | 自定义 endpoint 路径,如 /api/mycol |
HASH_SALT | 随机字符串 |
将复制的 url
中 [YOUR-PASSWORD]
换位数据库的密码,并在 url
最后添加 ?pgbouncer=true
,最终链接如下形式:
postgres://postgres.xxxxxxxxxxxx:[YOUR-PASSWORD]@aws-0-us-east-1.pooler.supabase.com:5432/postgres?pgbouncer=true
待部署完成后须添加自定义域名,否则 Vercel
域名被墙,会无法正常使用,打开部署的网站后,默认用户名为 admin
,默认密码为 umami
。
添加网站后在设置-网站-跟踪代码
处复制统计代码,添加到自己网站 </body>
前即可。
Docker
docker-compose
文件如下:
1version: '3'
2services:
3 umami:
4 image: ghcr.io/umami-software/umami:postgresql-latest
5 ports:
6 - "3000:3000"
7 environment:
8 DATABASE_URL: postgresql://umami:umami@db:5432/umami
9 DATABASE_TYPE: postgresql
10 APP_SECRET: replace-me-with-a-random-string # 随机字符串
11 depends_on:
12 db:
13 condition: service_healthy
14 restart: always
15 healthcheck:
16 test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
17 interval: 5s
18 timeout: 5s
19 retries: 5
20 db:
21 image: postgres:15-alpine
22 environment:
23 POSTGRES_DB: umami
24 POSTGRES_USER: umami
25 POSTGRES_PASSWORD: umami
26 volumes:
27 - umami-db-data:/var/lib/postgresql/data
28 restart: always
29 healthcheck:
30 test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
31 interval: 5s
32 timeout: 5s
33 retries: 5
34volumes:
35 umami-db-data:
参考
最后修改于 2024-05-06