−25%

on annual Windows plans, until 31 Oct. See plans

EQVPS

VPS for Plausible: cookie-free web analytics

Self-host Plausible Community Edition for privacy-friendly site stats without cookies. Requirements, Docker setup with HTTPS, and what ClickHouse needs.

The usual analytics setup asks your visitors for consent, ships their data to a third party, and gives you a dashboard with two hundred reports you'll never open. Plausible does the opposite: one small script, no cookies, one page of stats you can actually read. The Community Edition is free to self-host, and a VPS with its own IP is all it needs.

Why self-host it

What it needs

Plausible runs as three containers: the app, PostgreSQL for accounts and settings, and ClickHouse for the events. ClickHouse is the memory-hungry one.

Install (Ubuntu 24.04, Docker)

apt update && apt install -y docker.io docker-compose-v2 git
git clone https://github.com/plausible/community-edition plausible-ce
cd plausible-ce
# check out the newest release tag
git checkout "$(git tag --sort=-v:refname | head -1)"

Create the environment file — Plausible can fetch its own Let's Encrypt certificate:

cat > .env <<EOF
BASE_URL=https://stats.example.com
SECRET_KEY_BASE=$(openssl rand -base64 48)
HTTP_PORT=80
HTTPS_PORT=443
EOF

cat > compose.override.yml <<'EOF'
services:
  plausible:
    ports:
      - 80:80
      - 443:443
EOF

docker compose up -d

Point the A record of stats.example.com at your VPS first, so the certificate request succeeds. Then open the URL, create your account and add a site. The repository README is the source of truth for new variables — skim it when you upgrade.

Add the script to your site

<script defer data-domain="example.com" src="https://stats.example.com/js/script.js"></script>

Some ad blockers block anything called "analytics"; serving the script from your own subdomain already avoids most of that.

Keep it running

Where it falls short

Plausible deliberately collects less. No user-level journeys, no cross-device tracking, no ad-platform integrations. If marketing lives inside an ad network's tooling, you'll miss those reports. For most sites that just want to know which pages work and where visitors come from, it's the right amount of data — and nobody has to click "Accept".

Ready to deploy? Pay with crypto, no KYC — live in about a minute.

Deploy now →

FAQ

Does Plausible need a cookie banner?

Plausible doesn't set cookies and doesn't store personal data or full IP addresses — visitors are counted with a daily-rotating hash. In most cases that means no consent banner is needed, but the final call depends on your jurisdiction and what else your site loads.

How much RAM does self-hosted Plausible need?

Plausible stores events in ClickHouse, and ClickHouse is the part that wants memory. It starts on 2 GB, but background merges can spike past that. 4 GB (Small-IP) is the comfortable size for a few sites with steady traffic.

Can I run it on a NAT plan?

No. The tracking script and the dashboard are served over HTTPS on your own domain, so the server must accept inbound 443. That needs a dedicated-IP plan.

How much disk does the data take?

Very little per event — ClickHouse compresses hard. A site with tens of thousands of monthly visits uses well under a gigabyte a year. The Docker images take more space than the data for a long time.

How do I update it?

Pull the new release in the community-edition repository, then run 'docker compose pull' and 'docker compose up -d'. Read the release notes first — major versions occasionally need a migration step.

Comments

No comments yet. Be the first.

Leave a comment

Comments are moderated before they appear.