目录
简介
Umami 是一款简单易用、自托管的开源网站访问流量统计分析工具,类似 Google Analytics、Cloudflare Web Analytics、CNZZ、51LA 等。但 Umami 不使用 Cookie,不跟踪用户,且所有收集的数据都会匿名化处理,符合 GDPR 政策,资源占用很低,虽然功能简单,但分析的数据内容很丰富,基本的来源国家,来源域名,使用的浏览器、系统、设备,访问的网页这些都有,而且还支持多国语言。
Github:https://github.com/mikecao/umami
项目主页:https://umami.is/
效果预览:https://app.umami.is/share/8rmHaheU/umami.is
安装
这里推荐最省时省力的安装方式 —— 基于 Docker-Compose 构建并运行。
安装 Docker 与 Docker-Compose,如已安装的,可跳过这个步骤
curl -fsSL https://get.docker.com | bash -s docker
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
拉取源码
git clone https://github.com/mikecao/umami.git
配置 docker-compose.xml 文件:
【情况一】默认使用 docker 构建 postgresql 数据库:docker-compose.xml 文件,主要修改 DATABASE_URL、HASH_SALT、POSTGRES_DB、POSTGRES_USER、POSTGRES_PASSWORD 这几项, 如下:
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://【数据库用户】:【数据库密码】@db:5432/【数据库名称】
DATABASE_TYPE: postgresql
HASH_SALT: 【填写随机字符串】
depends_on:
- db
restart: always
db:
image: postgres:12-alpine
environment:
POSTGRES_DB: umami #自定义数据库名称
POSTGRES_USER: umami #自定义数据库用户名
POSTGRES_PASSWORD: umami #自定义数据库密码
volumes:
- ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
- umami-db-data:/var/lib/postgresql/data
restart: always
volumes:
umami-db-data:
【情况二】使用宿主环境非 docker 构建的 MySQL:则需要将 network_mode 网络模式修改为 host , docker-compose.xml 格式参考如下:
version: '3'
services:
umami:
image: ghcr.io/mikecao/umami:mysql-latest
network_mode: "host"
environment:
DATABASE_URL: mysql://【数据库用户名】:【数据库密码】@127.0.0.1:3306/【数据库名称】
DATABASE_TYPE: mysql
HASH_SALT: 【填写随机字符串】
restart: always
container_name: umami
数据库连接格式,参考如下:
postgresql://username:mypassword@localhost:5432/mydb
mysql://username:mypassword@localhost:3306/mydb
创建容器并运行
cd umami/
# 后台运行容器
docker-compose up -d
使用
浏览器访问 http://localhost:3000
也可以通过 IP 直接访问,默认用户名为 admin
,默认密码为 umami
登录后台后,可以选择切换中文:
设置,添加网站,设置好网站名字和域名,如果勾选 启用共享连接 则会为你的网站分析数据生成一个分享链接:
然后就可以获取统计代码,放到网站对应的位置:
反向代理
这里补充一下使用 Nginx 反代来绑定域名,或者使用宝塔反代。
server {
server_name umami.yourdomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}