Databuddy is a free, open source web & product analytics project written in TypeScript and released under AGPL-3.0. It has 1,156 GitHub stars, 215 forks and 37 open issues, and was last pushed 6 hours ago. On this registry it ranks #17 of 25 tracked projects in Web & Product Analytics, with 5 head-to-head comparisons available. It gained 5 stars over the last 6 tracked days.

What is Databuddy?

What it is

Databuddy is privacy-first analytics platform. It lives in web analytics ecosystem, specifically data and analytics, web and product analytics. It aims to provide analytics without cookies or tracking, and it claims foundation built on privacy for compliance with most major data privacy laws out of box.

Databuddy solves problem of collecting site and product usage data while respecting privacy rules. It targets Google Analytics style web analytics, with GDPR and Europe topics. It is built with Next.js, TypeScript, React, Tailwind CSS, Turborepo, Bun. It provides analytics, user tracking, data visualization. It is AGPL-3.0 licensed.

Key capabilities

  • Real-time analytics dashboard displays current site activity and supports data visualization.
  • User behavior tracking records visitor actions across web applications.
  • Goal tracking, conversion analytics, and funnel analysis measure intended paths and outcomes.
  • Custom event tracking lets operators define and capture named events.
  • Export capabilities and API access allow data retrieval and integration.
  • GDPR compliance, data encryption, and secure authentication protect stored data.
  • Multi-tenant support and responsive design allow multiple users and devices.

Who uses it and how

  • Teams replacing Google Analytics can use Databuddy as privacy-focused web analytics alternative.
  • Self-hosters run production stack with docker-compose.selfhost.yml and backend services from GHCR images.
  • Developers start local infrastructure with docker-compose.yaml for Postgres, ClickHouse, Redis.
  • Operators configure .env with IMAGE_TAG, database and cache passwords, public URLs, BETTER_AUTH_SECRET, DATABUDDY_ENCRYPTION_KEY, IP_HASH_SALT, and AI_GATEWAY_API_KEY.
  • Event ingestion uses Basket on localhost:4000, while API, Insights, and Links services run on localhost:3001, localhost:4002, and localhost:2500, with ports configurable via env vars like API_PORT and BASKET_PORT.

Getting started

Install Bun 1.3.14+ and Node.js 20+. Self-host with Docker Compose: copy .env.example to .env, set required secrets and URLs, start postgres, clickhouse, redis, initialize databases with bun install --frozen-lockfile, bun run db:push, and bun run clickhouse:init, then start backend services from docker-compose.selfhost.yml, and see docs Getting Started guide for setup.

When to use it — and when not to

Compared with Google Analytics, Databuddy is presented as privacy-focused alternative, with self-hosting and compliance focus. Use Databuddy when privacy-first web analytics, GDPR compliance, and self-hosted control matter more than Google Analytics style web analytics. Do not use it when you need mature contributor activity or all listed features now: repo age is 0 years, contributors are 0, open issues are 37, and advanced data visualization, real-time updates, custom metrics, cohort analysis, and A/B testing are marked Soon.

project readme (upstream, from github) — read inline

Databuddy

License: AGPL TypeScript Next.js React Turborepo Bun Tailwind CSS

CodeRabbit Pull Request Reviews Code Coverage Security Scan Dependency Status

Vercel OSS Program

Discord GitHub Stars Twitter

A comprehensive analytics and data management platform built with Next.js, TypeScript, and modern web technologies. Databuddy provides real-time analytics, user tracking, and data visualization capabilities for web applications.

🌟 Features

  • 📊 Real-time analytics dashboard
  • 👥 User behavior tracking
  • 📈 Advanced data visualization // Soon
  • 🔒 Secure authentication
  • 📱 Responsive design
  • 🌐 Multi-tenant support
  • 🔄 Real-time updates // Soon
  • 📊 Custom metrics // Soon
  • 🎯 Goal tracking
  • 📈 Conversion analytics
  • 🔍 Custom event tracking
  • 📊 Funnel analysis
  • 📈 Cohort analysis // Soon
  • 🔄 A/B testing // Soon
  • 📈 Export capabilities
  • 🔒 GDPR compliance
  • 🔐 Data encryption
  • 📊 API access

📚 Table of Contents

  1. How do I get started? Follow the Getting Started guide.

Prerequisites

  • Bun 1.3.14+
  • Node.js 20+

🏠 Self-Hosting

Databuddy can be self-hosted using Docker Compose. The repo includes two compose files:

File Purpose
docker-compose.yaml Development only — starts infrastructure (Postgres, ClickHouse, Redis) for local dev
docker-compose.selfhost.yml Production / self-hosting — backend services from GHCR images

Quick Start

# 1. Configure environment
cp .env.example .env
# Edit .env — set IMAGE_TAG, URL-safe database/cache passwords, public URLs,
# BETTER_AUTH_SECRET, DATABUDDY_ENCRYPTION_KEY, IP_HASH_SALT, and
# AI_GATEWAY_API_KEY. Make the local database URLs use the same credentials
# before running the initialization commands below.

# 2. Start databases and cache
docker compose -f docker-compose.selfhost.yml up -d postgres clickhouse redis

# 3. Initialize databases from the repo checkout (first run only)
bun install --frozen-lockfile
bun run db:push
bun run clickhouse:init

# 4. Start backend services
docker compose -f docker-compose.selfhost.yml up -d

Services started:

  • APIlocalhost:3001
  • Basket (event ingestion) → localhost:4000
  • Insights (investigation worker) → localhost:4002
  • Links (short links) → localhost:2500

All ports are configurable via env vars (API_PORT, BASKET_PORT, etc.). See the compose file comments for the full env var reference.

🤝 Contributing

See CONTRIBUTING.md for guidelines.

🔒 Security

See SECURITY.md for reporting vulnerabilities.

❓ FAQ

General

  1. What is Databuddy? Databuddy is a comprehensive analytics and data management platform.

  2. How do I get started? Follow the Getting Started guide.

  3. Is it free? Check our pricing page.

Technical

  1. What are the system requirements? See Prerequisites.

  2. How do I deploy? See the deployment documentation in our docs.

  3. How do I contribute? See Contributing.

💬 Support

📄 License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.

Copyright (c) 2025 Databuddy Analytics, Inc.

Frequently asked questions

Is Databuddy free to use?

Databuddy is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Databuddy do?

Privacy-first analytics without cookies or tracking

What is Databuddy written in?

Databuddy is primarily written in TypeScript. Its source is publicly available at https://github.com/databuddy-analytics/databuddy, and it has 1,156 GitHub stars.