目 录CONTENT

文章目录

Umami

moke
2024-10-18 / 0 评论 / 0 点赞 / 31 阅读 / 0 字

Umami

项目简介

Umami 是一个开源的轻量网站统计分析工具。

官方网站:https://umami.isopen in new window

官方文档:https://umami.is/docsopen in new window

开源地址:https://github.com/umami-software/umamiopen in new window

项目特点

  • 简单分析 Umami 只测量你关心的重要指标:网页浏览量、使用的设备以及访问者的来源。这些数据都在一个易于浏览的页面上展示。
  • 不限网站数量 Umami 通过一次安装就可以跟踪无限数量的网站,甚至还可以跟踪子域名和单个的 URL。
  • 绕过广告拦截器 Umami 由你在自己进行托管部署,所以你可以有效地避免 Google Analytics 不同的广告拦截器。
  • 轻量级 追踪脚本很小(只有 2KB),而且支持 IE 等旧版浏览器。
  • 多账户 Umami 可用于为朋友或客户托管数据,只需创建一个单独的账号,他们就可以开始在自己的仪表板上跟踪自己的网站。
  • 共享数据 如果你想公开分享你的统计数据,那么你可以使用一个唯一生成的 URL 进行共享。
  • 移动端友好 Umami 界面已针对移动设备进行了优化,因此你可以从任何地方查看你的统计数据。
  • 数据所有权 由于 Umami 是自托管的,因此你拥有所有数据。无需将你的数据交给第三方进行利用。
  • 注重隐私 Umami 不收集任何个人身份信息,并对收集的所有数据进行匿名处理。
  • 开源 Umami 是开源的,并采用 MIT 的开源协议。

Docker部署

准备条件

  • 安装Docker和docker-compose
  • 将域名解析到云主机
  • 开放Docker映射的端口

Docker部署

  1. 在站点或者任意目录创建docker-compose.yaml文件
  2. 运行部署命令
docker-compose up -d
  1. 登录部署的域名,默认用户名:admin 密码:umami

文件配置

docker-compose.yaml文件配置:

version: '3'
services:
  umami:
    image: docker.umami.dev/umami-software/umami:postgresql-latest
    ports:
      - "56000:3000"  #只需要修改此处的映射端口
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: replace-me-with-a-random-string
      TRACKER_SCRIPT_NAME: random-string.js
    depends_on:
      - db
    restart: always
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - ./umami-db-data:/var/lib/postgresql/data
    restart: always

volumes:
  umami-db-data:

配置说明

  • "56000:3000"中的56000修改为你的站点映射端口
  • 注意在安全组开放对应的映射端口

使用教程

添加网站

设置中文界面

登录umami站点,点击右上方图标,选择语言为中文

Alt text

添加网站

进入设置-添加站点

输入站点名称和域名

添加跟踪代码

跟踪代码

umami通过跟踪代码对目标网站进行统计,所以需要在目标站点的head部分加入跟踪代码。

添加教程

进入站点设置

找到站点跟踪代码

在对应的站点系统head部分加入站点代码即可进行站点统计。

示例

WordPress站点

WordPress站点添加跟踪代码

示例1

登录站点后台,编辑主题文件,找到header.php,在head部分的最后一段,加入跟踪代码,保存修改

如图:

示例2

部分主题,支持直接添加自定义header代码,找到对应的设置,添加跟踪代码,保存

如图:

Alist站点

Alist站点添加跟踪代码

登录Alist后台,找到设置-全局-自定义头部

添加跟踪代码

如图:

VuePress站点

VuePress站点添加跟踪代码

修改VuePress项目下的文件

src/.vuepress/config.ts

添加跟踪代码

  // Umami 跟踪代码
  head: [
    ['script', { async: true, src: 'https://umami.xxx.com/random-string.js', 'data-website-id': '702f98a8-de52-4298-8f6b-ab6520b2fa9c' }]

完整的示例:

import { defineUserConfig } from "vuepress";
import theme from "./theme.js";
import { searchProPlugin } from "vuepress-plugin-search-pro";
import { componentsPlugin } from "vuepress-plugin-components";

export default defineUserConfig({
  base: "/",
  lang: "zh-CN",
  title: "",
  description: "五六零网校知识库",

  theme,

  // 插件设置
  plugins: [
    searchProPlugin({
      // 索引全部内容
      indexContent: true,
      // 为分类和标签添加索引
      customFields: [
        {
          getter: (page) => page.frontmatter.category,
          formatter: "分类:$content",
        },
        {
          getter: (page) => page.frontmatter.tag,
          formatter: "标签:$content",
        },
      ],
    }),

    componentsPlugin({
      components: [
        "ArtPlayer",
        "AudioPlayer",
        "Badge",
        "BiliBili",
        "CodePen",
        "FontIcon",
        "PDF",
        "Replit",
        "Share",
        "SiteInfo",
        "StackBlitz",
        "VPBanner",
        "VPCard",
        "VidStack",
        "VideoPlayer",
        "XiGua",
        "YouTube",
      ],
      // Enable it with pwa
      // shouldPrefetch: false,
    }),
  ],

  // Umami 跟踪代码
  head: [
    ['script', { async: true, src: 'https://umami.xxx.com/random-string.js', 'data-website-id': '702f98a8-de52-4298-8f6b-ab6520b2fa9c' }]
  ],
});
博主关闭了所有页面的评论