常见的统计方案会向访客索要同意,把他们的数据发给第三方,再给你一个装着两百份你永远不会打开的报告的仪表板。Plausible 反其道而行:一个小脚本、零 Cookie、一页你真能看懂的统计。Community Edition 可以免费自托管,它需要的只是一台拥有独立 IP 的 VPS。
为什么要自托管
- 数据留在你的服务器上。 没有任何第三方收集访客的页面浏览。
- 不用 Cookie。 Plausible 用每天更换的哈希统计独立访客,从不存储完整 IP,这通常能让你去掉 Cookie 横幅。
- 超小的脚本。 跟踪器不到 1 KB,不会出现在你的页面速度报告里。
- 固定成本。 不按页面浏览计费。流量高峰不会让你多花钱。
它需要什么
Plausible 以三个容器运行:应用本身、存放账户和设置的 PostgreSQL,以及存放事件的 ClickHouse。吃内存的是 ClickHouse。
- 4 GB 内存是宽裕的规格:Small-IP(4 vCPU、4 GB、35 GB,每月 $16)。它在 2 GB(Micro-IP)上也能启动,但后台合并会让内存飙升,所以选小规格的话请加上 swap。
- 独立 IPv4 和一个域名。 跟踪器和仪表板从
https://stats.example.com提供服务。NAT 套餐不接受入站的 443。
安装(Ubuntu 24.04,Docker)
apt update && apt install -y docker.io docker-compose-v2 git
git clone https://github.com/plausible/community-edition plausible-ce
cd plausible-ce
# check out the newest release tag
git checkout "$(git tag --sort=-v:refname | head -1)"
创建环境文件;Plausible 可以自己申请 Let's Encrypt 证书:
cat > .env <<EOF
BASE_URL=https://stats.example.com
SECRET_KEY_BASE=$(openssl rand -base64 48)
HTTP_PORT=80
HTTPS_PORT=443
EOF
cat > compose.override.yml <<'EOF'
services:
plausible:
ports:
- 80:80
- 443:443
EOF
docker compose up -d
先把 stats.example.com 的 A 记录指向你的 VPS,这样证书申请才能成功。然后打开这个网址,创建账户并添加网站。新变量以仓库的 README 为准:每次升级时都浏览一下。
把脚本加到你的网站上
<script defer data-domain="example.com" src="https://stats.example.com/js/script.js"></script>
有些广告拦截器会拦截一切名为 “analytics” 的东西;从你自己的子域名提供脚本,本身就能避开大部分问题。
保持运行
- 备份。 你的统计数据存放在两个 Docker 卷中。Managed Backups 每天复制整台服务器(每月 $2,年付套餐免费);想更稳妥的话,再从容器里用
pg_dump导出 PostgreSQL。 - 更新。
git pull,检出新标签,然后docker compose pull && docker compose up -d。升级大版本前先读发行说明。 - 2 GB 服务器上请加 swap:一个 2 GB 的 swap 文件 能防止 ClickHouse 的合并被杀掉。
它的不足
Plausible 有意少收集数据。没有按用户的访问路径,没有跨设备追踪,也没有广告平台集成。如果你的营销工作都在某个广告网络的工具里进行,你会想念那些报告。对大多数只想知道哪些页面有效、访客从哪里来的网站而言,这正是恰到好处的数据量,而且没有人需要点击“接受”。
相关
- 用于网站的 VPS
- 用于 Coolify 的 VPS:在那里 Plausible 也是一键模板
- 用于 Docker 的 VPS
评论
暂无评论。来做第一个吧。