Skip to content

Self-host Rybbit

updated Sep 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

An open-source, privacy-friendly Google Analytics alternative that goes further than a pageview dashboard: sessions, unique users, bounce rate, real-time view, goals, retention, user journeys, funnels, session replays, custom events with JSON properties, and country → region → city maps — no cookies. Licensed AGPL-3.0 and installed by one setup script that starts Caddy, ClickHouse, PostgreSQL, Redis and the two app containers; it needs a domain pointed at the server because its tracking script must be served over HTTPS.

Key facts

LicenseAGPL-3.0
StackTypeScript, ClickHouse, PostgreSQL, Redis
Min RAM2048 MB
Official imageyes
Measured idle RAM1665 MB
Difficulty
Our recommendation

Pick Rybbit when you want more than a pageview dashboard from a Google Analytics replacement — sessions, funnels, retention, user journeys, goals and session replays — under a plain AGPL-3.0 license, and you have a domain to point at the server. One setup script starts the whole stack, Caddy included, and the project's own floor is 2 GB of RAM. If you only want to know how the site is doing, Umami or GoatCounter is less to run.

What you need

  • Any VPS with at least 2048 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# Rybbit — the official setup script writes .env and starts the compose stack (Caddy, ClickHouse, PostgreSQL, Redis, backend, client)
git clone https://github.com/rybbit-io/rybbit.git
cd rybbit && chmod +x *.sh
# point a (sub)domain at this server first — Caddy needs it to obtain the HTTPS certificate
./setup.sh tracking.example.com   #  →  https://tracking.example.com
# already running your own reverse proxy?  ./setup.sh tracking.example.com --no-webserver  (backend :3001, client :3002)

What you take on

Rybbit's install is scripted, but its own docs put three conditions on it that are worth knowing before you start:

non-negotiableA domain or sub-domain pointed at the server is required, not optional — the docs are explicit that HTTPS is mandatory because browsers block tracking scripts served over plain HTTP. There is no IP-only install.
non-negotiableThe setup script bundles Caddy on ports 80/443 to issue the certificate. If those ports already belong to another reverse proxy, run it with --no-webserver and proxy the backend (3001) and client (3002) yourself.
non-negotiableIt runs ClickHouse, PostgreSQL and Redis beside the two app containers. The 2 GB figure is the docs' own minimum ("try to get one with at least 2GB of RAM"), and on ARM the CPU must be at least ARMv8.2-A for ClickHouse.
non-negotiableWeb Vitals is cloud-only in practice: the README marks it "Only available on paid tiers", and the self-hosted build hides the Performance page and its toggle, even though the docs' self-hosted-vs-cloud table still ticks it (that table marks only Pages View and Email reports as cloud-only).

An alternative to

Head-to-head

More in Web analytics

Web analytics

GoatCounter

The smallest serious web analytics server: a single statically compiled Go binary (or the project's own Docker image) writing to a SQLite file, with PostgreSQL optional for big sites. It counts unique visits without cookies or identifiers, tracks referrers, campaigns, browsers, locations and screen sizes, and offers a JavaScript-free tracking pixel, a backend API, and log-file import. Its own README says it doesn't need a GDPR notice. Licensed EUPL-1.2; the same author runs a free hosted service.
GoSQLite
easyRead guide →
Web analytics

Matomo

The full-featured Google Analytics alternative — goals, e-commerce tracking, and 100% data ownership, with funnels and heatmaps available as paid premium plugins. Heavier than Plausible, but the closest like-for-like replacement for GA's depth.
PHPMariaDB
moderateRead guide →
Web analytics

OpenPanel

An open-source web and product analytics platform that pitches itself as "the power of Mixpanel with the ease of Plausible": funnels, cohorts, user profiles, session history and replay, A/B tests, revenue tracking, real-time dashboards, and SDKs for web, iOS/Android and server-side events — cookieless. Licensed AGPL-3.0; the documented install clones a dedicated git branch, a setup quiz writes .env, and a start script brings up seven containers (Caddy, PostgreSQL, Redis, ClickHouse, API, dashboard, worker). Free to self-host with unlimited events, per its pricing page.
TypeScriptNext.jsFastifyPostgreSQLClickHouseRedis
moderateRead guide →
Web analytics

Plausible

Lightweight, privacy-friendly web analytics in a single dashboard — no cookies, no personal data, GDPR-friendly by default. The Google Analytics replacement you can actually read.
ElixirClickHousePostgreSQL
moderateRead guide →

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.