网站分析软件Umami

什么是 Umami ?

Umami 是一个简单、易于使用、自托管的网络分析解决方案。目标是为您提供更友好、注重隐私的 Google Analytics 替代方案,以及免费、开源的付费解决方案替代方案。Umami 只收集您关心的指标,所有内容都放在一个页面上。

建数据库

官方提供的是docker-compose 的安装方式,除了 Umami 外还需要安装 Postgresql 或者 MySQL。老苏觉得既然是在群晖上,完全可以用群晖自带的 MariaDB 10 数据库。

  1. phpMyAdmin 中创建名为 umami 的空数据库。

为了演示方便,后面假设密码是:123456

  1. 下载 sql 脚本,地址:https://raw.githubusercontent.com/mikecao/umami/master/sql/schema.mysql.sql

  2. phpMyAdmin 导入

导入成功之后

命令行安装

docker cli

官方的镜像没有发布在 docker hub,而是在 ghcr.io,所以直接用命令行来安装

SSH 客户端中依次执行下面的命令

1
2
# 下载 mysql 版镜像
docker pull ghcr.io/mikecao/umami:mysql-latest

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

1
2
3
4
5
6
7
8
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/mikecao/umami:mysql-latest

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/mikecao/umami:mysql-latest ghcr.io/mikecao/umami:mysql-latest

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/mikecao/umami:mysql-latest

现在可以开始运行了

1
2
3
4
5
6
7
8
9
# 运行容器
docker run -d \
--restart always \
--name umami \
-p 3900:3000 \
-e DATABASE_URL=mysql://umami:123456@192.168.0.197:3307/umami \
-e DATABASE_TYPE=mysql \
-e HASH_SALT=AuVNRgG3joHoWkcvijPkG3K9 \
ghcr.io/mikecao/umami:mysql-latest
  • DATABASE_URL :数据库地址的格式是mysql://username:mypassword@localhost:3306/mydb,按照我们之前的设定,拼接后的地址是这样的:mysql://umami:123456@192.168.0.197:3307/umami
  • HASH_SALT:是应用的唯一值,老苏一般还是用 Bitwarden 的密码生成器自动产生的

docker compose

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3'
services:
umami:
image: ghcr.io/mikecao/umami:mysql-latest
ports:
- "3900:3000"
environment:
DATABASE_URL: mysql://umami:123456@192.168.0.197:3307/umami
DATABASE_TYPE: mysql
HASH_SALT: AuVNRgG3joHoWkcvijPkG3K9
restart: always

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 下载 mysql 版镜像
docker pull ghcr.io/mikecao/umami:mysql-latest

# 新建文件夹 umami
mkdir -p /volume2/docker/umami

# 进入 umami 目录
cd /volume2/docker/umami

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3900 就能看到登录界面

默认用户:admin,密码:umami

登录成功后的主界面

软件支持多种语言

添加一个网站

保存

获取跟踪代码

可以看到因为还没有映射到互联网,显示的还是局域网 IP ,反代之后用域名访问

【备注】:

  • Nginx Proxy Manager 反代,因为老苏的域名没备案,所以带端口,似乎不起作用;
  • Cloudflared 反代,域名不带端口,是 OK 的;

将跟踪代码放入网站的 <head> 部分,过一会儿就有数据了

几个小时之后

一天之后

本文完成于 5 月底,到发布时镜像已更新多个版本

参考文档

mikecao/umami: Umami is a simple, fast, privacy-focused alternative to Google Analytics.
地址:https://github.com/mikecao/umami

umami
地址:https://umami.is/docs/about