Umami 网站统计分析工具

2026/06/22 更新 1 次 更新于 2026/08/08 Net 共 2142 字,约 7 分钟

Umami 是一个开源的 Self-hosted 的轻量网站统计分析工具。可替代 Google Analytics、百度统计这些工具。适合个人博客、小型网站使用。

1、安装

参考官方提供的 docker-compose.ymlEnvironment variables,按需修改对应参数

services:
  umami:
    image: docker.umami.is/umami-software/umami:latest
    ports:
      - "8100:3000"
    environment:
      # 数据库连接地址,密码需和下方的 POSTGRES_PASSWORD 保持一致
      DATABASE_URL: postgresql://umami:youpassword@db:5432/umami
      DATABASE_TYPE: postgresql
      # 用于加密数据的随机字符串
      APP_SECRET: replace-me-with-a-random-string
      # 跟踪代码文件名,默认跟踪代码会被大多数广告插件屏蔽,应修改
      TRACKER_SCRIPT_NAME: custom-script-name.js
    # 依赖数据库容器,确保数据库先启动
    depends_on:
      db:
        condition: service_healthy
    init: true
    restart: always
    container_name: umami
    healthcheck:
      test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
      interval: 5s
      timeout: 5s
      retries: 5
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      # 数据库密码(按需修改)
      POSTGRES_PASSWORD: youpassword
    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
    container_name: umami-db
volumes:
  umami-db-data:
networks:
  default:
    # 自定义网络名称
    name: umami-network
# 启动容器
docker compose up -d

# 查看容器状态
docker ps

# 查看日志,看到 ✓ Ready in 0ms,说明正常启动
docker logs -f umami

# 登录网站修改账号和密码,默认账号密码:admin/umami
http://192.168.1.100:8100
2、Nginx 配置
server {
    listen 8001;
    server_name tj.youdomin.com;

    location ^~ / {
        proxy_pass http://192.168.1.100:8100;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;

        # 缓存
        add_header Cache-Control no-cache;
        expires 12h;
    }
}
3、使用方法

添加被统计网站

image-20260622142821014

获取跟踪代码,将跟踪代码添加到需要统计的网站中

<script defer src="https://tj.youdomin.com/statistics-nine.js" data-website-id="b80b1f5e-5c27-4869-8296-a6913e0f2ac2"></script>

image-20260622142910069

4、优化代码加载

将跟踪代码 custom-script-name.js 下载下来,放在加载更快的 CDN 上,避免因跟踪代码的延迟加载影响到网站的加载速度

<script
    async
    defer
    data-website-id="b80b1f5e-5c27-4869-8296-a6913e0f2ac2"
    src="https://your.site.com/custom-script-name.js"
    data-host-url="https://tj.youdomin.com"
    data-domains="your.site.com">
</script>

async:异步加载脚本,不阻塞页面渲染

defer:延迟执行,页面解析完成后再运行

data-host-url:将统计数据发送到指定域名,官方说明

data-domains:只在特定的网站上运行跟踪代码,避免本地测试时纳入统计

Search

    Table of Contents