隐私友好型分析平台Plausible Analytics

什么是 Plausible Analytics ?

Plausible Analytics 是一个简单、轻量级(小于1KB)、开源且隐私友好的网站分析工具,旨在作为 Google Analytics 的替代品。它不使用 cookies 并且完全符合 GDPRCCPAPECR 法规,因此特别注重用户隐私。

Plausible 提供了多种网站分析功能,包括独立访客数量、页面浏览量、跳出率和访问时间等指标,帮助网站所有者了解其网站的流量和用户行为。此外,它还支持目标分析、流量来源、 referer 网站和 404 错误页面等深入的访问行为分析。

从功能上来说,和老苏之前介绍的 UmamiMatomo 是同一类软件

文章传送门:

反向代理

Plausible 实际访问地址为: https://pa.laosu.tech

域名 局域网地址 备注
pa.laosu.tech http://192.168.0.197:8930 Plausible 的访问地址

按我们预设置的域名、局域网 IP 和端口,在 npm 中进行设置

安装

在群晖上以 Docker 方式安装。

下面三个文件来源自:https://github.com/plausible/community-edition,其中只有 docker-compose.yml 文件,老苏根据需要进行了删改

logs.xml

logs.xml 文件的作用主要是配置 ClickHouse 日志相关的设置。

xml 复制代码
<clickhouse>
    <logger>
        <level>warning</level>
        <console>true</console>
    </logger>

    <query_log replace="1">
        <database>system</database>
        <table>query_log</table>
        <flush_interval_milliseconds>7500</flush_interval_milliseconds>
        <engine>
            ENGINE = MergeTree
            PARTITION BY event_date
            ORDER BY (event_time)
            TTL event_date + interval 30 day
            SETTINGS ttl_only_drop_parts=1
        </engine>
    </query_log>

    <metric_log>
        <partition_by>event_date</partition_by>
        <ttl>event_date + INTERVAL 30 DAY DELETE</ttl>
    </metric_log>

    <asynchronous_metric_log>
        <partition_by>event_date</partition_by>
        <ttl>event_date + INTERVAL 30 DAY DELETE</ttl>
    </asynchronous_metric_log>

    <!-- Stops unnecessary logging -->
    <query_thread_log remove="remove" />
    <text_log remove="remove" />
    <trace_log remove="remove" />
    <session_log remove="remove" />
    <part_log remove="remove" />
</clickhouse>

ipv4-only.xml

因为默认情况下Docker 在网桥网络中不启用 IPv6,所以 ipv4-only.xml 的作用是,使 ClickHouse 仅绑定到 IPv4

xml 复制代码
<clickhouse>
    <listen_host>0.0.0.0</listen_host>
</clickhouse>

docker-compose.yml

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  plausible_db:
    image: postgres:16-alpine
    container_name: plausible_db
    restart: always
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      start_period: 1m

  plausible_events_db:
    image: clickhouse/clickhouse-server:24.3.3.102-alpine
    container_name: plausible_events_db
    restart: always
    volumes:
      - ./data:/var/lib/clickhouse
      - ./logs:/var/log/clickhouse-server
      - ./logs.xml:/etc/clickhouse-server/config.d/logs.xml:ro
      # This makes ClickHouse bind to IPv4 only, since Docker doesn't enable IPv6 in bridge networks by default.
      # Fixes "Listen [::]:9000 failed: Address family for hostname not supported" warnings.
      - ./ipv4-only.xml:/etc/clickhouse-server/config.d/ipv4-only.xml:ro
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    healthcheck:
      test: ["CMD-SHELL", "wget --no-verbose --tries=1 -O - http://127.0.0.1:8123/ping || exit 1"]
      start_period: 1m

  plausible:
    image: ghcr.io/plausible/community-edition:v2.1.3
    container_name: plausible_app
    restart: always
    ports:
      - 8930:8000
    command: sh -c "/entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
    depends_on:
      plausible_db:
        condition: service_healthy
      plausible_events_db:
        condition: service_healthy
    volumes:
      - ./pdata:/var/lib/plausible
    ulimits:
      nofile:
        soft: 65535
        hard: 65535
    environment:
      # required: https://github.com/plausible/community-edition/wiki/configuration#required
      - BASE_URL=https://pa.laosu.tech
      - SECRET_KEY_BASE=As0fZsJlUpuFYSthRjT5Yflg/NlxkFKPRro72xMLXF8yInZ60s6xGGXYVqml+XN1
      - DISABLE_REGISTRATION=false
      # databases: https://github.com/plausible/community-edition/wiki/configuration#database
      #- DATABASE_URL=postgres://postgres:postgres@plausible_db:5432/plausible_db
      #- CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db
  • BASE_URL:用反代后的域名,对老苏来说是 https://pa.laosu.tech
  • SECRET_KEY_BASE:可以用命令 openssl rand -base64 48 来生成;

更多环境变量的详细说明,请参考官方文档:https://github.com/plausible/community-edition/wiki/configuration

然后执行下面的命令

bash 复制代码
# 新建文件夹 plausible 和 子目录
mkdir -p /volume1/docker/plausible/{data,db,logs,pdata}

# 进入 plausible 目录
cd /volume1/docker/plausible

# 修改目录权限
chmod a+w pdata

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 https://pa.laosu.tech 就能看到注册界面

添加网站信息

  • Domain:填入我们要分析的网站的域名 laosu.tech。注意不要输入 www, https
  • Reporting Timezone:应该会自动识别,国内就选 Asia/Shanghai

会生成一段跟踪分析代码

js 复制代码
<script defer data-domain="laosu.tech" src="https://pa.laosu.tech/js/script.js"></script>

这是一段最基本的分析代码,如果还勾选了下方的行为分析,代码会随着勾选发生变化

将代码放入网站的 <head> 部分,过一会儿就有数据了

Start collecting data

当捕捉到数据后

回到首页

进入设置

几小时后再看

参考文档

plausible/analytics: Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics.

地址:https://github.com/plausible/analytics
Plausible Analytics | Simple, privacy-friendly Google Analytics alternative

地址:https://plausible.io/
plausible/community-edition: Example Docker Compose setup for hosting Plausible Community Edition

地址:https://github.com/plausible/community-edition/

相关推荐
JunLan~3 小时前
安装 Docker(使用国内源)
linux·docker·容器
踏雪Vernon4 小时前
[OpenHarmony5.0][环境][教程]OpenHarmony 5.0源码在WSL2 Ubuntu22.04 编译环境搭建教程
linux·docker·鸿蒙系统
.生产的驴14 小时前
Docker Seata分布式事务保护搭建 DB数据源版搭建 结合Nacos服务注册
数据库·分布式·后端·spring cloud·docker·容器·负载均衡
苦逼IT运维17 小时前
Docker 配置 HTTP 和 HTTPS 网络代理
网络·http·docker
杨浦老苏20 小时前
开源客户关系管理平台EspoCRM
docker·crm·群晖
筑梦之路21 小时前
银河麒麟v10 x86架构二进制方式kubeadm+docker+cri-docker搭建k8s集群(证书有效期100年) —— 筑梦之路
docker·容器·kubernetes
不撸先疯。1 天前
docker镜像源配置、换源、dockerhub国内镜像最新可用加速源(仓库)
运维·docker·容器·dockerhub
Stark-C1 天前
功能齐全,支持协作 | Docker部署一款支持多人共享的私密浏览器『n.eko』
运维·docker·容器
库库的里昂1 天前
Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程
linux·运维·docker·开源