MCPSERV.CLUB
Rybbit

Rybbit

Self-Hosted

Cookieless, real‑time web analytics for privacy‑first sites

Active(100)
9.0kstars
0views
Updated 18 hours ago

Overview

Discover what makes Rybbit powerful

Rybbit is a lightweight, privacy‑first analytics engine that replaces Google Analytics for developers who need full control over data collection and storage. It ingests raw event streams from a JavaScript snippet, processes them in real time, and exposes an API‑first interface for dashboards, session replay, and custom reporting. The core of Rybbit is built in **Go** for high‑throughput ingestion and a **React/TypeScript** front‑end that consumes the same API, ensuring consistency across client and server.

Backend

Data Layer

Frontend

Containerization

Overview

Rybbit is a lightweight, privacy‑first analytics engine that replaces Google Analytics for developers who need full control over data collection and storage. It ingests raw event streams from a JavaScript snippet, processes them in real time, and exposes an API‑first interface for dashboards, session replay, and custom reporting. The core of Rybbit is built in Go for high‑throughput ingestion and a React/TypeScript front‑end that consumes the same API, ensuring consistency across client and server.

Technical Stack

  • Backend: Go (v1.22+), leveraging the net/http standard library and gorilla/mux for routing. Business logic is split into micro‑services: ingestion, session storage, and analytics aggregation.
  • Data Layer: PostgreSQL for relational data (sites, events, user profiles) and ClickHouse for time‑series analytics queries. Redis is used as a short‑term cache for hot metrics and session state.
  • Frontend: React 18 with Vite, TypeScript, and Tailwind CSS. The UI consumes a REST/GraphQL API that mirrors the ingestion contract.
  • Containerization: Docker Compose is the primary deployment method, with optional Kubernetes manifests available. Each service runs in its own container for isolation and scalability.
  • Observability: Prometheus metrics, Grafana dashboards, and Loki for log aggregation are bundled with the stack.

Core Capabilities

  • Cookieless Tracking: Rybbit uses a single, lightweight script that sends events as JSON payloads over HTTPS. No cookies or local storage are used, satisfying GDPR/CCPA automatically.
  • Event Schema: Events are JSON objects with a required type, optional properties map, and timestamp. Custom events can be defined on the fly via the admin UI.
  • Session Replay: The ingestion service captures DOM events (clicks, scrolls) and stores them in a compressed binary format in ClickHouse. A replay API streams these events back to the client for rendering.
  • Real‑time Dashboard: WebSocket endpoints push metric updates to connected clients. The backend uses Go’s goroutine model to aggregate metrics on the fly, with a 1‑second latency target.
  • Advanced Filtering: The API exposes filtering on up to 15 dimensions (country, city, device, referrer, etc.) using a simple query language that maps to ClickHouse WHERE clauses.
  • Organization & Multi‑Site Support: A tenant model allows a single Rybbit instance to host multiple sites with isolated data stores.

Deployment & Infrastructure

  • Self‑Hosting: The Docker Compose stack can run on any VPS (Ubuntu 22.04+, Debian 12) with a minimum of 4 GB RAM and 2 CPUs for production workloads. For larger traffic, each service can be scaled horizontally in Kubernetes.
  • Scalability: ClickHouse’s columnar storage and Go’s concurrency model enable the system to handle millions of events per day with minimal latency. Redis ensures that hot metrics remain in memory.
  • High Availability: PostgreSQL is deployed with Patroni for HA, while ClickHouse uses its native replication. Docker Swarm or Kubernetes can orchestrate rolling updates without downtime.

Integration & Extensibility

  • Plugin System: Developers can write Go plugins that hook into the ingestion pipeline. A simple EventProcessor interface allows custom enrichment or routing logic.
  • Webhooks & APIs: REST endpoints expose metrics, event ingestion, and session data. Webhooks can be configured for real‑time alerts (e.g., funnel drop‑off thresholds).
  • SDKs: The JavaScript snippet is open source, and a TypeScript SDK is available for typed event creation. Additional SDKs (Python, Ruby) can be built against the public API.
  • Custom Dashboards: The front‑end is modular; developers can swap out charting libraries or embed Rybbit data into their own dashboards via the API.

Developer Experience

  • Configuration: All services expose environment variables; a config.yaml template is included. The UI provides an admin panel for non‑technical users to set goals, funnels, and filters.
  • Documentation: The project hosts a comprehensive docs site (https://rybbit.io/docs) with architecture diagrams, API references, and migration guides. The README includes quick‑start snippets for Docker and Kubernetes.
  • Community & Support: Rybbit is licensed under AGPL‑3.0, encouraging contributions. The Discord channel offers real‑time support, and the issue tracker is actively maintained with a clear triage process.

Use Cases

  • Enterprise Web Apps: Companies needing GDPR‑compliant analytics without a third‑party provider can deploy Rybbit on their own infrastructure.
  • Product Analytics: The session replay and custom event system make it ideal for SaaS products that want to understand user flows without exposing sensitive data.
  • Performance Monitoring: Built‑in Core Web Vitals tracking allows teams to correlate user behavior with page performance metrics.
  • A/B Testing Platforms: The goal and funnel APIs can be integrated into experimentation tools to measure conversion impact in real time.

Advantages Over Alternatives

| Feature | Rybbit | Google Analytics | Matomo | |---------|--------|

Open SourceReady to get started?

Join the community and start self-hosting Rybbit today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
data-analysis
License
AGPL-3.0
Stars
9.0k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Supported OS
LinuxDocker
Author
rybbit-io
rybbit-io
Last Updated
18 hours ago