介绍
Umami 是一款开源的、注重隐私的网络分析工具,可作为 Google Analytics 的替代品。它提供有关网站流量、用户行为和性能的重要见解,同时优先考虑数据隐私。使用 Umami 的优点就是易于设置,可自托管,可以完全控制自己的数据。
官方网站:https://umami.is/
开源地址:https://github.com/umami-software/umami
Supabase 是一个开源的 Firebase 替代方案,基于 PostgreSQL 数据库构建,提供实时数据同步、身份认证、存储及无服务器 API 等后端服务,帮助开发者快速构建现代化应用。
免费套餐内容:无限制 API 请求,500MB 数据库,5GB 带宽,1 周不活动暂停服务,限制 2 个免费组织。
Vercel 是一个Web应用部署的云平台,提供无服务器函数、全球CDN和自动SSL等特性,具有极简的配置和与Next.js等框架的深度集成特点。本文选用 Vercel 托管 Umami 的程序文件,这样可以做到无服务器成本。
官方网站:https://vercel.com/
使用 Supbase 数据库
注册 Supabase 后创建一个新项目,记下数据库密码Database Password。如果使用默认配置,Region 地区建议选择美国,因为 Vercel 的服务默认也是在美国。

获取数据库连接:点击顶部的 Connect 按钮找到下面的 Session pooler 配置,因为这个兼容 ipv4 所以使用这个。复制数据库连结,把数据库密码填写到链接中相应的位置得到完整的配置链接。

部署 Umami
使用 GitHub 注册登录 Vercel, fork Umami 项目,可以点击下面链接进行操作
在 Environment Variables 处对应的 DATABASE_URL 那里填入在 Supabase 得到的数据库链接。点击 Deploy 等待几分钟大概就部署好了。

部署好后可以在 Supabase 的控制面板中看到创建好的数据库信息。


注意:如果在部署时填写错数据库信息导致部署失败了,不要慌,可以改。
打开 Setting --> Environment Variables 找到下面的 DATABASE_URL 环境变量,Edit 修改后重新部署就好了。

设置 Umami
部署完后会获得一个 *.vercel.app 的域名,这个就是 Vercel 提供的公开域名,可以自己添加自定义的耳机域名。

访问网站,默认的用户名是 admin
,密码是 umami
。登录后可以先在个人资料里把语言设置成中文。添加网站后就可以获得跟踪代码了。

把跟踪代码填写到网站的页面上,就可以看到效果了。

优化
反广告屏蔽插件:
很多人会在浏览器装广告屏蔽插件,比如 Ablock,跟踪脚本别屏蔽了就统计不到访客信息了,可以在环境变量里添加 TRACKER_SCRIPT_NAME 环境变量解决。比如
TRACKER_SCRIPT_NAME: random-script.js
这样获取到的js文件名就会变成 random-script.js
网络优化:
因为 Vercel 的服务在境外,网络情况比较差,可以使用线路较好的服务器进行反代,也可以把脚本文件部署到cdn服务器上。
首先把脚本文件下载下来,上传到服务器上,得到 https://cdn.bb.com/random-script.js 资源链接,然后配置script 跟踪代码如下:其中 src 是资源链接,data-host-url 为 umami 服务的地址,data-website-id 是跟踪id。
<script async defer
src="https://cdn.bb.com/random-script.js"
data-host-url="https://umami-user.vercel.app">
data-website-id="ee8a6009-08a9-4dd2-8ad8-a9069a02cdef"
</script>
手动调整 Vercel 区域
Vercel 默认的部署区域是美国,但是可以手动调整到其他地区的,就说调整后需要重新部署项目。注意免费用户只能选择一个地区,需要取消默认的地区勾选,然后选择其他地区才能保存。

经测试,换地区部署不会丢失已经配置好的数据。
0