Rybbit:新一代开源隐私友好型网站分析平台深度推荐与部署教程
一、平台深度解析:为什么选择 Rybbit?
1.1 平台简介
在数据隐私日益受到重视的今天,Rybbit 作为一款现代化的开源网站与产品分析平台,正在重新定义网站分析的体验。它以”隐私优先、开箱即用、直觉式操作”为核心理念,旨在成为 Google Analytics 的完美替代方案。

Rybbit 由独立开发者团队打造,采用 AGPL-3.0 开源协议,代码完全公开透明。截至2026年4月,该项目在 GitHub 上已获得超过 11,900 颗星,成为开源分析工具领域的新星。全球已有超过 4,000 家组织选择信赖 Rybbit,包括 Automatio、Convex、Vanguard、MyDramaList 等知名企业。
1.2 核心功能亮点
全方位网站分析能力
Rybbit 提供了完整的网站分析指标体系:
-
基础指标:会话数、独立用户、页面浏览量、跳出率、会话时长
-
实时仪表盘:即时查看网站上的访客活动,了解实时流量动态
-
高级地图可视化:3D 地球视图展示全球流量分布,支持三级地理位置追踪(国家→地区→城市)
产品分析深度洞察
超越传统流量统计,Rybbit 提供产品级分析能力:
-
会话回放:观看真实用户会话录像,发现可用性问题和用户体验痛点
-
漏斗分析:可视化转化路径,精准定位用户流失环节
-
用户旅程:绘制用户从落地到转化的完整导航路径(Sankey 图)
-
用户画像:分析单个用户跨会话的行为轨迹
-
留存分析:追踪用户回访率,评估产品粘性
开发者友好特性
-
自定义事件:支持 JSON 属性的事件追踪,灵活满足各种业务需求
-
错误追踪:自动捕获 JavaScript 错误和未处理的 Promise 拒绝
-
Web Vitals:监控核心网页性能指标(LCP、FID、CLS)
-
API 支持:完整 API 访问权限,支持自定义集成
隐私与合规
-
无 Cookie 追踪:完全不需要 Cookie 或本地存储,无需烦人的 Cookie 横幅
-
GDPR & CCPA 合规:开箱即满足欧盟和美国隐私法规要求
-
机器人拦截:自动过滤机器人流量,保持数据纯净
-
公开仪表盘:可选择公开分享分析数据,增强透明度
1.3 与竞品对比分析
| 特性 | Rybbit | Google Analytics 4 | Plausible | PostHog |
|---|---|---|---|---|
| 开源 | ✅ 完全开源 | ❌ 闭源 | ✅ 有社区版 | ✅ 开源 |
| 自托管 | ✅ 完整功能 | ❌ 不支持 | ⚠️ 功能受限 | ✅ 支持 |
| 无 Cookie | ✅ | ❌ | ✅ | ✅ |
| 会话回放 | ✅ | ❌ | ❌ | ✅ |
| 漏斗分析 | ✅ | ✅ | ⚠️ 付费版 | ✅ |
| 用户旅程 | ✅ | ✅ | ❌ | ✅ |
| 高级地图 | ✅ 3D可视化 | ❌ | ❌ | ❌ |
| Web Vitals | ✅ | ❌ | ❌ | ✅ |
| 高级过滤 | ✅ 15+维度 | ⚠️ 受限 | ⚠️ 受限 | ✅ |
| 免费版 | ✅ 云端免费 | ✅ | ❌ | ✅ |
| 学习曲线 | 低 | 高 | 低 | 中高 |
| 脚本体积 | ~10KB | ~45KB | ~1KB | ~30KB |
核心差异化优势:
-
功能深度与易用性的完美平衡:Rybbit 保持了类似 Plausible 的简洁体验,同时提供了 PostHog 级别的产品分析功能。用户无需在”简单但功能有限”和”强大但复杂”之间做选择。
-
真正的开源诚意:与 Plausible 不同,Rybbit 的开源版本包含所有功能,没有人为阉割。用户可以完全掌控自己的数据。
-
轻量级架构:基于 ClickHouse 构建,能够高效处理大规模数据。官方实测支持每月 1500 万+ 事件的处理能力。
-
活跃的社区支持:Discord 社区活跃,开发者响应迅速,持续迭代更新。
1.4 适用人群与典型场景
最适合的用户群体:
-
独立开发者/创业者:需要快速了解产品使用情况,但预算有限
-
SaaS 团队:需要深入的用户行为分析来优化产品
-
内容创作者/博主:追踪内容表现,了解读者行为
-
重视隐私的组织:医疗、法律、金融等对数据合规要求高的行业
-
技术团队:希望完全控制分析数据,有自托管需求
典型应用场景:
-
产品优化:通过会话回放发现用户在注册流程中的卡点,结合漏斗分析定位流失原因,针对性优化转化率
-
内容运营:追踪博客文章的阅读深度、跳出率,了解哪些内容真正吸引读者
-
技术监控:通过错误追踪和 Web Vitals 监控网站健康状态,及时发现性能问题
-
A/B 测试支持:使用标签功能区分不同版本的用户群,对比分析效果
二、完整部署教程:从零开始搭建你的分析平台
2.1 部署方案选择
Rybbit 提供两种使用方式:
| 方案 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|
| 云端托管 | 零运维、快速上手、自动更新 | 数据存储在第三方、高级功能需付费 | 快速验证、小团队、无运维能力 |
| 自托管 | 完全数据控制、无使用限制、成本可控 | 需要运维能力、需自行维护更新 | 企业级部署、隐私敏感场景、成本敏感用户 |
本教程将重点介绍自托管部署方案,帮助你在自己的服务器上搭建完整的 Rybbit 实例。
2.2 环境准备
服务器要求:
-
CPU:2核以上(推荐 4 核)
-
内存:最低 2GB(推荐 4GB,ClickHouse 内存消耗较大)
-
存储:20GB 以上 SSD(数据量越大,存储需求越高)
-
系统:Ubuntu 24 LTS (x86_64) 或其他主流 Linux 发行版
-
架构:x86_64 或 ARMv8.2-A 以上
必备资源:
-
域名:需要一个域名或子域名(如 analytics.yourdomain.com)
-
DNS 控制权:能够配置 A 记录指向服务器 IP
⚠️ 重要:HTTPS 是必需的,浏览器会阻止通过 HTTP 加载的分析脚本。Rybbit 的自动部署脚本会使用 Caddy 自动获取 Let’s Encrypt 证书。
2.3 部署步骤详解
步骤一:DNS 配置
登录你的 DNS 服务商(如 Cloudflare、阿里云、GoDaddy 等),添加 A 记录:
plaintext
类型: A主机/名称: analytics(或你选择的子域名)值: 你的服务器公网 IP 地址代理状态: DNS only(Cloudflare 建议关闭代理,或设置为 Full SSL 模式)使用 DNS Checker 验证 DNS 解析是否生效。
步骤二:安装 Docker
通过 SSH 连接到服务器,安装 Docker Engine:
bash
# 更新系统sudo apt update && sudo apt upgrade -y
# 安装 Docker 依赖sudo apt install -y ca-certificates curl gnupg
# 添加 Docker 官方 GPG 密钥sudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpg
# 添加 Docker 软件源echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Dockersudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 验证安装docker -v# 输出示例: Docker version 27.x.x, build xxxxxxx
# 将当前用户添加到 docker 组(避免每次使用 sudo)sudo usermod -aG docker $USER# 重新登录 SSH 使生效步骤三:克隆仓库并部署
bash
# 克隆 Rybbit 仓库git clone https://github.com/rybbit-io/rybbit.gitcd rybbit
# 赋予脚本执行权限chmod +x *.sh
# 执行一键部署脚本(替换为你的域名)./setup.sh analytics.yourdomain.com如果需要启用 3D 地图可视化,添加 Mapbox Token:
bash
./setup.sh analytics.yourdomain.com --mapbox-token YOUR_MAPBOX_TOKEN📌 部署脚本会自动完成:
-
生成 .env 配置文件和安全密钥
-
拉取并构建 Docker 镜像
-
启动所有服务容器
-
配置 Caddy Web 服务器
-
自动申请 SSL 证书
首次部署可能需要 5-10 分钟,请耐心等待。
步骤四:创建管理员账户
部署完成后,访问以下地址创建管理员账户:
plaintext
https://analytics.yourdomain.com/signup填写邮箱和密码完成注册,即可登录开始使用。
2.4 网站接入配置
获取追踪脚本
登录 Rybbit 仪表盘后,添加你的第一个网站。系统会生成类似以下的追踪脚本:
html
<script src="https://analytics.yourdomain.com/api/script.js" async data-site-id="YOUR_SITE_ID"></script>安装脚本到网站
将脚本添加到你网站的 部分,确保每个需要追踪的页面都包含:
html
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>你的网站</title>
<!-- Rybbit 追踪脚本 --> <script src="https://analytics.yourdomain.com/api/script.js" async data-site-id="YOUR_SITE_ID"></script></head><body> <!-- 页面内容 --></body></html>主流框架集成指南
Next.js (App Router):
tsx
export default function RootLayout({ children }: { children: React.ReactNode }) { return ( <html lang="zh"> <head> <script src="https://analytics.yourdomain.com/api/script.js" async data-site-id="YOUR_SITE_ID" /> </head> <body>{children}</body> </html> );}WordPress:
在主题的 header.php 文件中添加脚本,或使用 “Insert Headers and Footers” 插件。
Vue.js / Nuxt:
typescript
export default defineNuxtConfig({ app: { head: { script: [ { src: 'https://analytics.yourdomain.com/api/script.js', async: true, 'data-site-id': 'YOUR_SITE_ID' } ] } }});2.5 高级配置选项
跳过特定页面
使用 data-skip-patterns 排除管理后台、预览页面等:
html
<script src="https://analytics.yourdomain.com/api/script.js" async data-site-id="YOUR_SITE_ID" data-skip-patterns='["/admin/ **", "/preview/*", "/api/** "]'></script>URL 脱敏处理
使用 data-mask-patterns 保护用户隐私 URL:
html
<script src="https://analytics.yourdomain.com/api/script.js" async data-site-id="YOUR_SITE_ID" data-mask-patterns='["/users/*/profile", "/orders/ **"]'></script>会话回放隐私控制
隐藏敏感信息,防止在回放中泄露用户隐私:
html
<script src="https://analytics.yourdomain.com/api/script.js" async data-site-id="YOUR_SITE_ID" data-replay-block-selector=".admin-panel, #payment-modal" data-replay-mask-text-selectors='[".user-name", "#email", "[data-pii]"]' data-replay-mask-all-inputs="true"></script>自定义事件追踪
javascript
// 追踪按钮点击document.getElementById('signup-btn').addEventListener('click', () => { rybbit.track('button_click', { button_name: 'signup', page_section: 'hero' });});
// 追踪表单提交rybbit.track('form_submit', { form_id: 'contact-form', success: true});2.6 服务管理与维护
常用管理命令:
bash
cd rybbit
# 查看服务状态docker compose ps
# 查看日志docker compose logs -f
# 停止服务./stop.sh
# 启动服务./start.sh
# 重启服务./restart.sh
# 更新到最新版本git pull./update.sh备份策略:
bash
# 备份 ClickHouse 数据docker exec rybbit-clickhouse clickhouse-client \ --query="BACKUP DATABASE rybbit TO '/backup/rybbit_backup'"
# 备份 PostgreSQL 数据docker exec rybbit-postgres pg_dump -U postgres rybbit > backup_$(date +%Y%m%d).sql2.7 常见问题排查
问题 1:无法访问仪表盘
-
检查 DNS 解析是否正确指向服务器 IP
-
确认服务器防火墙开放 80 和 443 端口
-
查看 Caddy 日志: docker compose logs caddy
问题 2:SSL 证书获取失败
-
确认域名已正确解析且可公开访问
-
检查 80 端口是否被其他服务占用
-
查看 Caddy 日志获取详细错误信息
问题 3:追踪脚本无数据
-
确认脚本已正确安装到网站
-
检查浏览器控制台是否有错误
-
确认没有广告拦截插件阻止脚本
-
验证 data-site-id 是否正确
问题 4:服务器内存不足
ClickHouse 较为耗内存,可调整 docker-compose.yml 中的内存限制:
yaml
services: clickhouse: deploy: resources: limits: memory: 2G三、立即开始你的隐私友好分析之旅:
-
🌐 官网: https://rybbit.com
-
📚 文档: https://rybbit.com/docs
-
💻 GitHub: https://github.com/rybbit-io/rybbit
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!