940 字
5 分钟

Docker-Compose 自部署 Umami 网站分析工具

说明: Umami 是一款简单易用、自托管的开源网站访问流量统计分析工具,类似 Google An­a­lyt­ics、Cloud­flare Web An­a­lyt­ics、CNZZ、51LA 等,但 Umami 不使用 Cookie,不跟踪用户,且所有收集的数据都会匿名化处理,符合 GDPR 政策,不会像 Google Analytics 一样被很多浏览器插件拦截,数据相对更加准确,分析的数据内容很丰富,基本的来源国家,来源域名,使用的浏览器、系统、设备,访问的网页这些都有,而且还支持多国语言。Umami 在速度和配置要求上有非常明显的优势,在积累大量数据后依旧能保持快速的响应。

umami

通过 Docker Compose 自部署#

Umami 官方提供了 Docker 镜像,但同时需要搭配数据库使用,这样一来,还是使用 docker compose 部署方便一些,我个人也偏好使用 docker compose 部署,完整的部署过程如下:

检查环境#

你的服务器需要安装 Docker 和 Docker Compose。运行命令检查:

Terminal window
docker -v
docker-compose -v

这两条命令应返回 Docker 和 Docker Compose 版本号。如果没有,请先安装它们。

安装 Docker 与 Docker-Compose

Terminal window
# 安装 Docker
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
# 安装 Docker Compose
curl -L https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 赋予 docker-compose 执行权限
chmod +x /usr/local/bin/docker-compose

创建 YML 文件#

创建一个新目录并进入:

Terminal window
mkdir /opt/umami && cd /opt/umami

复制以下内容,创建 docker-compose.yml 文件:

version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:你的数据库密码@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: 随机密钥字符串
depends_on:
db:
condition: service_healthy
restart: always
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: 你的数据库密码
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:

⚠️ 注意事项:

  1. 将文中两处你的数据库密码改为同一组高强度密码。
  2. 随机密钥字符串替换为一个长随机字符串。你可以在终端运行 openssl rand -base64 32 来生成它。
  3. 若需要了解更多环境变量的配置细节,请自行查看—>官方文档 进行自定义配置。

启动服务#

在配置文件目录执行:

Terminal window
docker-compose up -d

等待拉取镜像并完成容器的启动。

登录并修改密码#

打开浏览器,访问 http://你的服务器IP:3000

使用初始账号登录:

  • 用户名:admin
  • 密码:umami

登录后,建议立即在后台修改这个默认密码。

Nginx 反向代理#

这里补充一下使用 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;
}
}

获取跟踪代码#

若完成配置反向代理绑定域名,可以通过域名重新进入 Umami 后台管理页面,依次点击 Add website 输入你的 网站名称域名地址 ,将你的网站添加进去。

Save 保存后,列表里会出现你的网站,点击修改图标。

复制专属的跟踪统计代码。

将复制的代码粘贴到网站所有页面的 <head> 前(这是官方的建议),我个人建议放在</footer>之前。代码添加后,访问你的网站。几分钟内,你就能在Umami仪表板上看到访问数据。

至此,已经完成了基础的 Umami 网站统计服务的自部署。

站点跟踪配置#

Umami还支持对站点统计的一些细节做配置,如排除链接参数、避免页面哈希变化导致访问量统计失真、函数回调、以及数据标签(这个很不错,可以做简单的页面埋点区分)等功能。

这部分内容,大家可以参考 -> 跟踪器配置 --- Tracker configuration

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Docker-Compose 自部署 Umami 网站分析工具
https://blog.moewah.com/posts/4938/
作者
GoWah
发布于
2021-09-18
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
GoWah
Hello, I'm GoWah.
分类
标签
站点统计
文章
160
分类
9
标签
350
总字数
301,106
运行时长
0
最后活动
0 天前

目录