Plausible Analytics 自托管搭建指南隐私优先的 Google Analytics 替代方案Google Analytics 是很多站长的默认选择但它存在几个现实问题统计数据上传到 Google 服务器、在中国大陆加载缓慢导致统计失真、被广告屏蔽器大量拦截、需要烦人的 Cookie 授权弹窗。对于注重隐私的网站或面向欧洲用户的业务这些问题很难绕开。Plausible Analytics 是一个开源的轻量级网站统计系统完全可以自托管。统计脚本仅 1KBGA 的脚本超过 17KB无 Cookie、无跨站追踪、无个人数据收集符合 GDPR 合规要求。自建之后所有访问数据都存在自己的服务器不经过任何第三方。界面设计极简访客数、页面浏览量、流量来源、热门页面一页全部呈现基本上打开就能看懂。本文介绍如何用 Docker Compose Caddy 在自己的 VPS 上部署 Plausible Analytics。服务器配置Plausible 后端使用 PostgreSQL 存储用户和网站数据使用 ClickHouse 存储页面访问事件流因此对内存有一定要求。项目规格CPU2 核内存4GB硬盘40GB事件数据随时间增长系统Ubuntu 22.04 / Debian 12推荐使用雨云服务器 rainyun-com的 2 核 4GB 机型来部署 Plausible Analytics性价比高国内访问速度稳定。注册填优惠码2026off领 5 折优惠券新用户首单直接半价。准备工作确保服务器已安装 Docker 和 Docker Compose# 安装 Dockercurl-fsSLhttps://get.docker.com|sh# 验证安装docker--versiondockercompose version准备好一个域名例如stats.example.com并将该域名 DNS A 记录解析到服务器 IP。安装 Caddy 作为反向代理和自动 HTTPSsudoaptinstall-ydebian-keyring debian-archive-keyring apt-transport-httpscurl-1sLfhttps://dl.cloudsmith.io/public/caddy/stable/gpg.key|sudogpg--dearmor-o/usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl-1sLfhttps://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt|sudotee/etc/apt/sources.list.d/caddy-stable.listsudoaptupdatesudoaptinstallcaddy-ydocker-compose.ymlPlausible 官方提供了 community-edition 配置仓库直接克隆使用gitclone https://github.com/plausible/community-edition /opt/plausiblecd/opt/plausiblecpplausible-conf.env.example plausible-conf.env编辑plausible-conf.env填入必要配置# 生成随机密钥必须填写SECRET_KEY_BASE$(openssl rand-base6448)# 你的站点访问地址必须是 HTTPSBASE_URLhttps://stats.example.com# 可选邮件配置用于发送注册邮件和邀请链接MAILER_EMAILnoreplyexample.comSMTP_HOST_ADDRsmtp.example.comSMTP_HOST_PORT587SMTP_USER_NAME你的邮箱账号SMTP_USER_PWD邮箱授权码SMTP_HOST_SSL_ENABLEDfalse官方仓库自带的docker-compose.yml内容如下无需修改仅供参考version:3.8services:mail:image:bytemark/smtprestart:unless-stoppedplausible_db:image:postgres:16-alpinerestart:unless-stoppedvolumes:-db-data:/var/lib/postgresql/dataenvironment:-POSTGRES_PASSWORDpostgresplausible_events_db:image:clickhouse/clickhouse-server:24.3.3.102-alpinerestart:unless-stoppedvolumes:-event-data:/var/lib/clickhouse-event-logs:/var/log/clickhouse-server-./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro-./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:roulimits:nofile:soft:262144hard:262144plausible:image:ghcr.io/plausible/community-edition:v2restart:unless-stoppedcommand:sh-c sleep 10/entrypoint.sh db createdb/entrypoint.sh db migrate/entrypoint.sh rundepends_on:-plausible_db-plausible_events_db-mailports:-127.0.0.1:8000:8000env_file:-plausible-conf.envvolumes:db-data:driver:localevent-data:driver:localevent-logs:driver:local启动服务dockercompose up-d配置说明Caddy 反向代理配置编辑/etc/caddy/Caddyfilestats.example.com { reverse_proxy localhost:8000 }重启 Caddysudosystemctl reload caddyCaddy 会自动申请 Let’s Encrypt 证书并配置 HTTPS无需手动操作。核心环境变量说明变量说明SECRET_KEY_BASE会话加密密钥必须填随机字符串BASE_URL访问地址必须是 HTTPSDISABLE_REGISTRATION设为true可关闭新用户注册GOOGLE_CLIENT_ID可选填入后可接入 Google Search Console使用方法初始化管理员账号访问https://stats.example.com首次打开会显示注册页面创建管理员账号。如果部署时设置了DISABLE_REGISTRATIONtrue则需要先通过命令行创建用户dockerexecplausible_plausible_1 /entrypoint.sh new_user添加网站并接入统计代码登录后点击 Add Website输入网站域名不含https://Plausible 会生成一段追踪代码scriptdeferdata-domainyoursite.comsrchttps://stats.example.com/js/script.js/script将这段代码粘贴到网站每个页面head标签内。WordPress 可以用 Plausible 官方插件一键接入静态站点直接在模板head里加即可。查看统计数据Plausible 的仪表板提供以下核心指标访客/浏览量独立访客数、页面浏览数、跳出率、平均停留时长来源来源网站、UTM 参数分类、搜索引擎流量占比页面热门页面排行支持按入口页和退出页筛选地理国家/城市分布地图可视化设备浏览器、操作系统、屏幕尺寸分布转化目标可配置页面访问或自定义事件作为转化目标设置转化目标在网站设置 → Goals 中添加目标例如追踪/thank-you页面作为表单提交转化页面访问目标/thank-you 自定义事件目标Download需配合 JS 代码触发常见问题Q统计数据为零没有记录到访问检查追踪脚本是否正确加载在浏览器开发者工具 Network 标签中访问网站时应该能看到对stats.example.com/js/script.js的请求以及对/api/event的 POST 请求返回 202。如果脚本加载正常但没有数据检查BASE_URL配置是否与实际访问地址完全一致包括 https 前缀。QClickHouse 容器启动失败提示内存不足ClickHouse 默认内存限制较高可以在clickhouse/clickhouse-user-config.xml中调整profilesdefaultmax_memory_usage1073741824/max_memory_usage/default/profilesQ如何备份数据# PostgreSQL 备份dockerexecplausible_plausible_db_1 pg_dump-Upostgres plausible_db\|gzip/backup/plausible-pg-$(date%Y%m%d).sql.gz# ClickHouse 数据卷备份dockerrun--rm\-vplausible_event-data:/data\-v/backup:/backup\alpinetarczf /backup/plausible-ch-$(date%Y%m%d).tar.gz /data建议配合 cron 定时执行备份文件异地存储。Q如何屏蔽自己的访问避免污染统计数据在浏览器中安装 Plausible 官方扩展或手动在localStorage中设置屏蔽标记// 在浏览器控制台执行之后本机访问不计入统计localStorage.setItem(plausible_ignore,true);