什么是 Plausible Analytics ?
Plausible Analytics
是一个简单、轻量级(小于1KB
)、开源且隐私友好的网站分析工具,旨在作为Google Analytics
的替代品。它不使用cookies
并且完全符合GDPR
、CCPA
和PECR
法规,因此特别注重用户隐私。
Plausible
提供了多种网站分析功能,包括独立访客数量、页面浏览量、跳出率和访问时间等指标,帮助网站所有者了解其网站的流量和用户行为。此外,它还支持目标分析、流量来源、 referer
网站和 404
错误页面等深入的访问行为分析。
从功能上来说,和老苏之前介绍的 Umami
、Matomo
是同一类软件
文章传送门:
反向代理
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