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

通过 Docker Compose 自部署
Umami 官方提供了 Docker 镜像,但同时需要搭配数据库使用,这样一来,还是使用 docker compose 部署方便一些,我个人也偏好使用 docker compose 部署,完整的部署过程如下:
检查环境
你的服务器需要安装 Docker 和 Docker Compose。运行命令检查:
docker -vdocker-compose -v这两条命令应返回 Docker 和 Docker Compose 版本号。如果没有,请先安装它们。
安装 Docker 与 Docker-Compose
# 安装 Dockercurl -sSL https://get.docker.com/ | shsystemctl start dockersystemctl enable docker
# 安装 Docker Composecurl -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 文件
创建一个新目录并进入:
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: 5volumes: umami-db-data:⚠️ 注意事项:
- 将文中两处
你的数据库密码改为同一组高强度密码。 - 将
随机密钥字符串替换为一个长随机字符串。你可以在终端运行openssl rand -base64 32来生成它。 - 若需要了解更多环境变量的配置细节,请自行查看—>官方文档 进行自定义配置。
启动服务
在配置文件目录执行:
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
推荐文章
基于标签匹配 · 智能推荐支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
喵斯基部落