基于 Umami 自建网站统计分析服务并接入 GeoLite2 地理数据
Umami 提供分析核心,MaxMind license key 用于解锁地理定位数据
方案简介
ouorz-mono 的 Analytics App 是一个基于开源统计工具 Umami 的自建网站分析服务,属于 monorepo 中的一个应用。它需要接入 MaxMind GeoLite2 免费地理定位数据以获得地理位置分析能力,使用 PostgreSQL 作为数据库。适合希望在自有服务器上掌控访问统计数据的个人站点作者。
亮点与能力
- 基于 Umami 的网站访问统计
- 通过 MaxMind GeoLite2 获取地理定位数据
- 使用 PostgreSQL 存储
- 集成于 monorepo,使用 Bun 工作区管理
组成与分工
- Umami:分析应用的基础
- MaxMind GeoLite2:地理定位数据源,需注册获取 license key
- PostgreSQL:数据库(DATABASE_URL)
- Bun:包管理器与脚本运行
前置要求
注册 MaxMind GeoLite2 并获取 license key;准备 PostgreSQL 数据库连接。
bash
git clone git@github.com:ttttonyhe/ouorz-mono.git
bun install
cd apps/analytics
创建 .env 文件,包含 DATABASE_URL、HASH_SALT、MAXMIND_LICENSE_KEY。
实施步骤
1. 克隆并安装
bash
git clone git@github.com:ttttonyhe/ouorz-mono.git
bun install
cd apps/analytics
2. 获取地理定位数据权限
按照 MaxMind 官方指引注册 GeoLite2 并获取 license key。
3. 配置环境变量
创建 .env,填入 DATABASE_URL、HASH_SALT、MAXMIND_LICENSE_KEY。
4. 构建 PostgreSQL 客户端并启动
bash
bun run --filter '@ouorz/analytics' build-postgresql-client
bun run dev:analytics
使用与配置要点
启动后通过 bun run dev:analytics 运行分析应用日常开发;验证配置正确可观察统计功能是否正常记录访问并展示地理数据。
优缺点
- ✓ 自托管统计
- ✓ 地理定位数据
- ✕ 需注册 MaxMind license
出处
本方案挖掘自开源项目 ttttonyhe/ouorz-mono,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。