
Plausible Analytics 是一个简单、轻量且以隐私为中心的网站分析工具。它的设计旨在替代更复杂、更难以使用的分析工具,如 Google Analytics。Plausible Analytics 主要特征包括:
总之,Plausible Analytics 是一个非常适合注重用户隐私和网站性能的个人和企业使用的网站分析工具。
以下是部署 Plausible Analytics 的详细步骤,基于 Docker 和 Docker Compose 的自托管方案:
克隆官方或社区维护的部署模板(以下以 plausible/hosting 仓库为例):
mkdir plausible && cd plausible
git clone https://github.com/plausible/hosting
cd hosting
或使用预配置的压缩包(部分教程提供)。
生成必要的加密密钥:
# 生成 SECRET_KEY_BASE(64位随机字符)
openssl rand -base64 64 | tr -d '\n' ; echo
# 生成 TOTP_VAULT_KEY(32位随机字符,可选)
openssl rand -base64 32 | tr -d '\n' ; echo
将生成的密钥写入 plausible-conf.env 文件。
编辑 plausible-conf.env,设置关键参数:
BASE_URL=https://stats.yourdomain.com # 部署域名
SECRET_KEY_BASE=生成的64位密钥
DISABLE_REGISTRATION=true # 禁止用户注册
MAILER_EMAIL=admin@yourdomain.com # 发信邮箱(需配置SMTP)
SMTP_HOST_ADDR=smtp.yourdomain.com
SMTP_HOST_PORT=587
SMTP_USER_NAME=admin@yourdomain.com
SMTP_USER_PWD=yourpassword
(其他参数如数据库配置保持默认即可)。
Plausible 默认使用 MaxMind 的 GeoLite2 数据库:
Account ID 和 License Key。geoip/geoip.conf:
GEOIPUPDATE_ACCOUNT_ID=你的AccountID
GEOIPUPDATE_LICENSE_KEY=你的LicenseKey
GEOIPUPDATE_EDITION_IDS=GeoLite2-Country,GeoLite2-City # 可选城市级精度。
docker compose up -d
检查容器日志确认初始化成功:
docker compose logs server # 查看关键日志如数据库迁移完成。
示例配置(需替换域名和证书路径):
server {
listen 80;
server_name stats.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name stats.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/stats.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/stats.yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
重载 Nginx:sudo systemctl reload nginx。
修改统计脚本路径以避免被屏蔽:
<!-- 原脚本 -->
<script defer data-domain="yourdomain.com" src="https://stats.yourdomain.com/js/script.js"></script>
<!-- 修改后(通过反向代理重写路径) -->
<script defer data-domain="yourdomain.com" data-api="https://stats.yourdomain.com/api/custom" src="https://stats.yourdomain.com/js/custom.js"></script>
在 Nginx 中添加路径重写规则。
Client ID 和 Client Secret。plausible-conf.env 并重启容器。# 更新
docker compose pull && docker compose up -d
# 备份数据库
docker exec -t plausible_db pg_dumpall -U postgres | gzip > plausible_backup.sql.gz
docker compose exec plausible_db psql -U postgres -d plausible_db -c "UPDATE users SET email_verified = true;"。
通过以上步骤,即可完成 Plausible 的私有化部署。更多高级功能(如自定义域名、API 集成)可参考 官方文档。