Docker 搭建 umami 网站统计工具

Docker 搭建 umami 网站统计工具

umami 是一款开源、简单、轻量级和高性能的网站统计分析工具,可以自行部署到服务器上并支持无限数量的网站统计,支持 Docker 快速部署。

官网:https://umami.is/
Github:https://github.com/umami-software/umami
在线预览:https://analytics.umami.is/share/LGazGOecbDtaIwDr/umami.is

使用 Docker 安装

克隆仓库:

1
git clone https://github.com/umami-software/umami

在根目录执行命令,此命令默认使用 PostgreSQL 数据库。

1
docker compose up -d

之后会占用本机的 3000 端口启动 umami,使用 IP 地址加端口可以直接访问。

配置 Nginx 反向代理

实际部署时我们不应该直接使用 IP + 端口访问,通常需要配置反向代理并启用 SSL。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server {
listen 80;
listen 443 ssl http2;
server_name analytics.cui.cc;

# http -> https,http 强制跳转到 https
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}

ssl_certificate /your/fullchain.pem;
ssl_certificate_key /your/privkey.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

以上配置中将 ssl_certificatessl_certificate_key 替换为你的 SSL 证书路径,域名改为你已经解析好的域名。之后就可以通过域名访问刚刚部署的 umami,默认的用户名密码是 admin/umami,登录之后要立即修改为复杂密码。

升级

1
2
docker compose pull
docker compose up --force-recreate -d

每次升级之前的旧版本镜像是无用的,留着会占用磁盘空间。可以使用 docker image prune -a 命令删除之前的旧版本镜像。

部署到 Hexo

有些 Hexo 主题没有集成 umami 功能,需要我们手动集成。为了避免修改主题,我们可以使用 Hexo 5 的注入器将统计脚本插入到 head 标签中。

首先需要在博客根目录下建立 scripts 文件夹,然后在里面创建一个 umami.js 文件,写入以下注入代码,将第二个参数替换为你的跟踪代码。

1
hexo.extend.injector.register('body_end', '<script>...</script>', 'default');

默认生成的跟踪代码部署到 Hexo 中后,如果使用 hexo server 命令启动本地服务预览时也会统计数据。要解决这个问题可以改下跟踪代码增加 data-domains 属性。填写你的网站域名,可使用英文逗号分隔多个域名。

1
2
3
4
5
6
7
<script
async
defer
src="http://mywebsite.com/umami.js"
data-website-id="94db1cb1-74f4-4a40-ad6c-962362670409"
data-domains="mywebsite.com,mywebsite2.com"
></script>

Docker 搭建 umami 网站统计工具

https://cui.cc/docker-install-umami/

作者

南山崔崔

发布于

2023-07-19

许可协议