【好玩儿的Docker项目】Umami替代品,又一款网站流量统计工具——Plausible
【好玩儿的Docker项目】Umami替代品,又一款网站流量统计工具——Plausible

背景与核心痛点:对于博客、独立产品与跨境站长而言,获取访客流量与转化率至关重要,但传统 Google Analytics 不仅体积庞大且在部分地区访问受限,还面临严苛的 GDPR 数据隐私审查。开源轻量级(< 1KB)统计工具 Plausible Analytics 具备极致现代的界面美感与隐私友好属性,结合 Docker Compose 与 ClickHouse 高性能列式数据库,可在个人服务器上秒级搭建全能流量统计平台。
目录
- Plausible 核心特性与优势
- 服务器前置准备与目录结构
- 编写 docker-compose.yml 编排配置
- 配置环境变量与安全密钥
- Nginx Proxy Manager 反向代理与 SSL 配置
- 接入网站埋点代码与数据看板
- 容器备份、升级与注册限制
Plausible 核心特性与优势
- 极轻量客户端脚本:JavaScript 统计脚本小于 1KB(比 GA 小 45 倍),完全不拖慢网站加载速度。
- 隐私合规免 Cookie 弹窗:完全遵循 GDPR、CCPA 和 PECR 隐私规范,无需记录 IP 或存储 Cookie。
- 高性能底层架构:采用 ClickHouse 专门存储海量访问时序日志,配合 PostgreSQL 管理站点元数据,吞吐能力极强。
- 直观全景仪表盘:单页聚合 UV、PV、跳出率、访问时长、来源渠道、国家地图及跳出率分析。
服务器前置准备与目录结构
推荐基于 1GB~2GB 内存的 Linux VPS(Debian 12 / Ubuntu 22.04+):
mkdir -p /root/data/docker_data/plausible
cd /root/data/docker_data/plausible
git clone https://github.com/plausible/hosting.git
cd hosting
编写 docker-compose.yml 编排配置
在 hosting 目录下编辑 docker-compose.yml,启动核心服务:
version: "3.3"
services:
mail:
image: bytemark/smtp
restart: always
plausible_db:
image: postgres:14-alpine
restart: always
volumes:
- ./db-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=postgres_strong_pwd
plausible_events_db:
image: clickhouse/clickhouse-server:23.3.7.5-alpine
restart: always
volumes:
- ./event-data:/var/lib/clickhouse
ulimits:
nofile:
soft: 262144
hard: 262144
plausible:
image: plausible/analytics:v2.0
restart: always
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
depends_on:
- plausible_db
- plausible_events_db
- mail
ports:
- "8091:8000"
env_file:
- plausible-conf.env
配置环境变量与安全密钥
- 生成 64 字节随机加密密钥:
openssl rand -base64 64 | tr -d ' ' ; echo - 编辑
plausible-conf.env:BASE_URL=https://plausible.yourdomain.com SECRET_KEY_BASE=刚刚生成的随机秘钥 DISABLE_REGISTRATION=invite_only - 启动容器集群:
docker compose up -d
Nginx Proxy Manager 反向代理与 SSL 配置
- 登录 NPM 控制台,新建 Proxy Host。
- Domain Names 输入绑定的统计域名(如
plausible.yourdomain.com)。 - Forward Hostname 输入本机 Docker 内部 IP 或宿主机内网 IP,Forward Port 填写
8091。 - 勾选 Websockets Support 与 Block Common Exploits。
- 在 SSL 标签页一键申请 Let's Encrypt 证书并强制开启 HTTPS。
接入网站埋点代码与数据看板
- 打开浏览器登录
https://plausible.yourdomain.com完成管理员账号创建。 - 点击 + Add Website 填入你的博客域名(如
blog.yourdomain.com)。 - 复制生成的专属统计标签,插入网站主题 HTML 的
<head>区域中:<script defer data-domain="blog.yourdomain.com" src="https://plausible.yourdomain.com/js/script.js"></script> - 部署后访问博客任意页面,Plausible 仪表盘将秒级呈现访问流量。
容器备份、升级与注册限制
- 防止公开注册:确保在
plausible-conf.env中配置DISABLE_REGISTRATION=invite_only或true,防止他人滥用你的服务器存储资源。 - 一键平滑升级:
docker compose down docker compose pull docker compose up -d docker image prune -f
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zszweb
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果