Skip to content

Self-host Plausible

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 →

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.

Key facts

LicenseAGPL-3.0
StackElixir, ClickHouse, PostgreSQL
Min RAM2048 MB
Official imageyes
Measured idle RAM619 MB
Difficulty
Our recommendation

Pick Plausible Community Edition when you want the dashboard you can read in ten seconds — cookieless, consent-free, one script tag — and you are fine with a three-container stack: Postgres, ClickHouse and the AGPL-3.0 app. The CE README asks for at least 2 GB of RAM "without fear of OOMs" and a CPU with SSE 4.2 or NEON for ClickHouse; that 2 GB floor is upstream's. Know what CE is before you standardise on it: it is the open-core edition of a cloud product, released twice a year and "community-supported only".

Follow the Plausible deploy guide →

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
  • About an afternoon — budget time for troubleshooting
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:

# Plausible Community Edition — official quick start (README), pinned to the current release tag
git clone -b v3.2.1 --single-branch https://github.com/plausible/community-edition plausible-ce
cd plausible-ce
# BASE_URL must be the real domain you will serve Plausible on, with DNS already pointing at this server
echo "BASE_URL=https://plausible.example.com" >> .env
echo "SECRET_KEY_BASE=$(openssl rand -base64 48)" >> .env
# compose.yml publishes no ports — expose 80/443 with an override; 80 + 443 also enables automatic Let's Encrypt TLS
echo "HTTP_PORT=80" >> .env
echo "HTTPS_PORT=443" >> .env
cat > compose.override.yml << EOF
services:
    plausible:
        ports:
            - 80:80
            - 443:443
EOF
docker compose up -d  #  →  https://plausible.example.com (your BASE_URL) — create the first user

What you take on

Plausible CE is simple to run once up; the surprises are in the licence model and the install repo:

non-negotiableIt is open core by design. The self-hosting page's current list is that "Marketing funnels, user journeys, ecommerce revenue goals, SSO and sites API are not available" in CE; the CE announcement explains that those features stay under a different licence to protect the hosted plan, and that external contributors sign a CLA. Custom properties did make it into CE; the release notes carry the current list.
non-negotiableTwo repos, two licences: the install repo you clone is MIT (a compose file and README); the application image is AGPL-3.0 from plausible/analytics. Releases are branches: as of September 2026 the repo's default branch is v3.2.1 and its compose pins ghcr.io/plausible/community-edition:v3.2.1, with upgrades done by editing that tag per the release notes — which can also bump the databases (3.0 moved ClickHouse from 24.3 to 24.12).
non-negotiableThe current compose publishes no host port. The README's step 3 adds a compose.override.yml mapping 80 and 443 plus HTTP_PORT=80 / HTTPS_PORT=443 in .env, which also turns on automatic Let's Encrypt; behind your own proxy you pick other values. Our snippet's :8000 comes from the retired plausible/hosting compose; the community-edition compose has never published a host port, so add the override or nothing answers.
non-negotiableBASE_URL must be "the actual domain where you plan to host the service" with DNS already pointing at the box, and SECRET_KEY_BASE must be at least 64 bytes (openssl rand -base64 48). The README's last step is to visit $BASE_URL and "create the first user"; review the registration variables the compose passes through (DISABLE_REGISTRATION, ENABLE_EMAIL_VERIFICATION) before the instance is public.
non-negotiableThe 2 GB floor is upstream's figure for ClickHouse and Plausible together; upstream ships a low-resources.xml ClickHouse override "useful for small setups" in the compose already.

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

Rybbit

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.
TypeScriptClickHousePostgreSQLRedis
easyRead 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.