Umami Cloud迁移到本地踩坑记录

正式开始 首先,我们想要迁移,首先肯定是要拿到原来的Umami Cloud存放的数据 在 Umami Cloud Data | Settings 中,我们可以选择,导出数据(Export) 当数据准备好后(几分钟左右),你的邮箱会收到一封Umami Cloud发来的邮件 下载下来的文件是一个以UUID命名的ZIP压缩包,将其解压可以得到3个CSV文件 其中,只有 website_event.csv 有用,其他两个文件仅有表头,无数据 这样,我们就成功拿到了旧Umami数据 接下来,我们需要在本地部署Umami PostgreSQL版本的 最新版 (目前版本为 3.x)(部署教程略) 然后我们还需要安装一个CSV编辑软件: SmoothCSV - The ultimate CSV editor for macOS & Windows 在本地Umami中新建一个网站,Umami会随机为你生成一个UUID 接下来我们需要在你的终端安装一个图形化管理PostgreSQL的软件: pgAdmin - PostgreSQL Tools 然后连上数据库,你将可以看到这些表 接下来我们查看 website 这张表,将 website_event.csv 打开,查看旧的 website_id 将新的ID改为旧的,这样才能数据匹配 接下来,我们正式开始数据导入,由于导入后的数据有两个 session_id 字段,而在Umami自我管理的过程中这个 session_id 字段是 唯一约束的 ,我们需要先解除这个限制,在正式上线前还要再加回这个限制(后面会说) 让我们删除主键约束和索引 ALTER TABLE session DROP CONSTRAINT session_pkey; DROP INDEX session_session_id_key; 接下来,我们需要将数据配对,我们先查看 website_event.csv 这张表。这里应该只有表头,没有数据(我有是因为我已经导入完成了,教程是后写的) 注意顺序 如: event_id website_id session_id … 编辑CSV文件,你需要将顺序配对,并且删除表中没有的列,如: browser os … ...

December 5, 2025 · 1 min · 131 words

记录迁移Umami,从本地到云

回滚了 备份本地数据库 在任何一台机子上安装 pgAdmin4 连接到本地的PostgreSQL实例 右键需要备份的数据库,点击 备份 填写 文件名 创建备份。备份的文件将会保留在 pgAdmin4 上 还原备份到云端数据库 免费计划有 500MB 免费的数据库空间,完全够用了 进入 https://supabase.com/ 创建一个新项目 找到连接参数(左上角Connect) 在 pgAdmin4 中,连接到Supabase数据库 值得注意的是,本地的PostgreSQL我们可以创建多个子数据库。而在Supabase中,每一个项目对应一个专属的 postgres 数据库。当然,你完全可以使用 pgAdmin4 来创建新的子数据库,但是Supabase仪表盘上将不可见。所以,我建议在Supabase项目中,一个项目对应一个数据库,不使用子数据库 右键,进行还原 选择刚才备份的数据库文件 进行还原,必会 失败,但是不用管 这些报错大概就是,找不到之前数据库的用户之类的,实际上表结构已经被还原了 在Render上部署Umami 打开 https://dashboard.render.com/ 创建项目,选择 Web Services Source Code 选择 Exist Image ,并输入 ghcr.io/umami-software/umami:postgresql-v2.19.0 最好选最新版,也就是 vx.xx.x 这个字段 配置必须的环境变量 Key Value APP_SECRET 在之前的环境变量中 DATABASE_TYPE postgresql DATABASE_URL 在Supabase仪表板中 你可以在曾经的Umami实例中看到 APP_SECRET 的值 ...

August 28, 2025 · 1 min · 90 words

让你的网站对接高级的Umami统计!

正式开始 本教程针对于Umami Cloud的上手使用,如果你需要自托管Umami请自行寻找相关文档 进入 https://umami.is/ (如果进不去请检查是否有广告拦截器拦截了Umami!!!) 点击右上角的 Sign UP 注册账号 按需填写相关信息进行注册 然后检查你的邮箱,是否收到了Umami的邮箱验证消息 点击 Login 进行登录,填入验证码 区域选择任意(选美国你的统计数据就记录在美国的服务器,选欧盟你的统计数据就记录在欧盟的服务器) 用户配置随便填写即可 继续填写你要统计的网站 将跟踪代码插入到你的网站的 <head>Umami跟踪代码</head> 中 然后我们就进入Umami控制台了 点击 View 就能看到你的网站统计啦 注:右上角可以改为中文 建议打开设置启用分享URL,这样你的用户就可以实时看到你的站点流量啦 注意事项 Umami Cloud对于免费用户限制3个站点 免费版月事件数为10w,本人博客感觉不够用,已经自建了,教程可以看我b站,没有就是没发 来拷打我

July 5, 2025 · 1 min · 32 words

静态博客也想展示文章浏览量?当然可以!

引言 如果你用过WordPress,Halo等动态博客框架,你大概会在用户视角访问博文的时候看到浏览量这个信息。 这个原理很简单,因为动态博客依赖于一个VPS,只需要让用户每次访问的时候给浏览量+1即可。 那么如果我们是静态博客呢? 我们可以依赖一些第三方服务,比如Umami Cloud。在你的静态博客的head注入一个js,这样你就可以看到你的站点分析了,类似下图 现在我们确实可以看到每个文章(即/posts/xxx)的访问量了,但是我们要如何展示给用户呢? 逆向Umami的只读页面!(新版v3) 感谢nightNya提供的方案,你是天才! 首先我们启用分享URL 注意这里的 7PoDRgCzHFTs2vWB ,每个站点都不一样 接着我们请求 https://cloud.umami.is/analytics/us/api/share/7PoDRgCzHFTs2vWB,得到 注意,这里的 us 为你创建的账号区域,美国为us,欧盟为eu { "websiteId": "a66a5fd4-98b0-4108-8606-cb7094f380ac", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3ZWJzaXRlSWQiOiJhNjZhNWZkNC05OGIwLTQxMDgtODYwNi1jYjcwOTRmMzgwYWMiLCJpYXQiOjE3NTA4MDIwMzB9.X5GQT5kslh6r25sFlap4Asz1NDA7mN3kcZW8wqbrnBc" } 再接着我们请求,携带请求头 x-umami-share-token 值为上一步获得的Token https://cloud.umami.is/analytics/us/api/websites/a66a5fd4-98b0-4108-8606-cb7094f380ac/stats?startAt=0&endAt=1750805999999&unit=hour&timezone=Asia/Hong_Kong&path=eq./posts/cf-fastip/&compare=false 这里解释几个关键Params,其他的照搬 startAt:统计开始时间。Unix时间戳,我们填写为0让Umami从1970年开始统计 endAt:统计结束时间。Unix时间戳,我们可以使用 Date.now() ,即当前时间,和startAt参数联动即可实现统计总浏览量 path:要查询的路径,填写为你的文章页去除了Host的路径,如 /posts/hello 。注意!Umami会将 /posts/hello 和 /posts/hello/ 视为两个不同的路径,请注意你的博客框架是否使用 /。在v3版本中,需要使用 eq. 前缀来进行精确匹配,例如 path=eq./posts/hello/ 你会得到 { "pageviews": 1655, "visitors": 343, "visits": 411, "bounces": 183, "totaltime": 30592, "comparison": { "pageviews": 0, "visitors": 0, "visits": 0, "bounces": 0, "totaltime": 0 } } pageviews 即浏览量。 visitors 即访问人数。 Tips:浏览量记录为任意用户只要访问了则计数一次。而访问数记录不会记录单IP多次重复访问和同一时间段的多次请求不同页面 Enjoy it! ...

June 17, 2025 · 1 min · 78 words