Web analytics
Plausible Analytics VPS requirements: RAM, CPU, disk, and why ClickHouse sets the size
Plausible Community Edition (CE) is the self-hosted version of the privacy-friendly, cookieless web analytics tool. It runs as three containers: the Plausible app (Elixir), PostgreSQL for accounts and settings, and ClickHouse for the analytics events. ClickHouse is what decides the server size. The official guide recommends at least 2 GB of RAM "to run ClickHouse and Plausible without fear of OOMs", and the CPU must support SSE 4.2 or NEON. An idle install read about 620 MB in one independent test, but users report ClickHouse using CPU around the clock with no traffic, and its own system-log tables can quietly fill a small disk unless you trim them.
Sizing guide
Our recommendations, derived from the sourced figures below. Not measurements.
| Scenario | RAM | vCPU | Why |
|---|---|---|---|
| A few personal or small-business sites, Plausible alone | 2 GB | 1 | The official recommendation. Idle readings are about 350–620 MB, so 2 GB leaves ClickHouse room for queries and merges without the OOM kills the guide warns about. Add swap. We haven't measured it on a VPS yet. |
| Plausible next to other apps, or busier sites | 4 GB | 2 | Our estimate. ClickHouse uses some CPU constantly, and dashboards over long ranges are CPU-bound, so a second vCPU keeps reports and neighbours responsive. One busy site (about 150k goal conversions a week) saw slow reports even on 4 cores and 8 GB. |
| 1 GB VPS | Not recommended | 1 | People have run it on 1 GB, but threads from 2020 on and a 2026 report of ClickHouse crash-looping on a micro instance show it's fragile. If you only have 1 GB, a PostgreSQL-based tool such as Umami (165 MB idle in the same test) is the safer fit. |
Official requirements
| Item | What the project says | Source |
|---|---|---|
| Install | Docker Compose from the plausible/community-edition repo (clone the tagged branch, currently v3.2.1). You set BASE_URL and a SECRET_KEY_BASE of at least 64 bytes in .env. Setting HTTP_PORT=80 and HTTPS_PORT=443 makes Plausible fetch Let's Encrypt certificates itself; use other ports behind a reverse proxy | Plausible CE repo: README checked Nov 3, 2026 |
| Requirements | "At least 2 GB of RAM is recommended for running ClickHouse and Plausible without fear of OOMs." The CPU "must support SSE 4.2 or NEON instruction set or higher (required by ClickHouse)" | Plausible CE repo: Prerequisites checked Nov 3, 2026 |
| Services | plausible (ghcr.io/plausible/community-edition:v3.2.1), plausible_db (postgres:16-alpine) and plausible_events_db (clickhouse/clickhouse-server:24.12-alpine). The ClickHouse image is about 155 MB compressed for amd64 and 147 MB for arm64 | Plausible CE repo: compose.yml; Docker Hub clickhouse-server 24.12-alpine checked Nov 3, 2026 |
| Low-resource ClickHouse settings | The compose file mounts files that make ClickHouse "consume less resources" on small setups: mark_cache_size of 500 MB, max_threads 1, max_block_size 8192, one download thread and no parallel parsing or formatting. They follow ClickHouse's own tips for running with less than 16 GB of RAM | Plausible CE repo: clickhouse/low-resources.xml and default-profile-low-resources-overrides.xml checked Nov 3, 2026 |
| ClickHouse logging | clickhouse/logs.xml turns off metric_log, asynchronous_metric_log, query_thread_log, text_log, trace_log, session_log and part_log, and keeps query_log for 30 days. processors_profile_log is not on that list yet; an open pull request (#280) adds it | Plausible CE repo: clickhouse/logs.xml checked Nov 3, 2026 |
| Registration | DISABLE_REGISTRATION defaults to invite_only, so after you create the first user, others need an invite. true closes registration completely; false opens it to anyone who finds the page | Plausible CE wiki: Configuration checked Nov 3, 2026 |
| Geolocation | Country data works out of the box from the db-ip country database shipped in the image. City-level data needs a free MaxMind licence key (MAXMIND_LICENSE_KEY), and Plausible then downloads and updates the GeoLite2 database itself | Plausible CE wiki: Configuration, IP Geolocation checked Nov 3, 2026 |
| Current version | v3.2.1, released 15 May 2026 (v3.2.0 came out 26 Jan 2026) | GitHub releases: plausible/analytics checked Nov 3, 2026 |
What people report in practice
Individual reports, not controlled tests. Versions, hardware and settings differ, so treat these as data points, not guarantees.
-
Plausible read 619 MB of RAM and 1.4 GB of Docker disk shortly after the documented install on a clean 2 vCPU / 8 GB VM. In the same sweep Umami, which uses PostgreSQL instead of ClickHouse, read 165 MB, and Matomo 138 MB
Independent test of 96 self-hosted apps, Google Cloud e2-standard-2, 28 Sep 2026. One reading about 30 seconds after install, with no data or traffic; the authors note ClickHouse stacks may still be growing at that point, so the figure is more likely to read low than high
Blog SelfHost Atlas: Self-hosted app RAM usage, 96 apps measured (2026) · checked Nov 3, 2026
-
docker stats on Plausible CE 2.1.4 with almost no traffic: the Plausible app 23 MiB, PostgreSQL 36 MiB and ClickHouse 541 MiB, with ClickHouse at 7.7% CPU and 724 processes/threads. The user saw about 5% of a quad-core i5 used overall
GitHub issue comment, Oct 2024, on a 32 GB home server
GitHub GitHub plausible/analytics #301: Excessive resource usage from clickhouse · checked Nov 3, 2026
-
"Plausible + Clickhouse used a constant 15% CPU on my powerful server, while apparently doing nothing, even before I added any website analytics." The user moved to Umami. Another user in the same thread, after applying ClickHouse's low-memory tips, still saw ClickHouse "always consuming CPU and ~349MiB of Memory"
GitHub issue comments, Nov 2024 and Feb 2026
GitHub GitHub plausible/analytics #301: Excessive resource usage from clickhouse · checked Nov 3, 2026
-
ClickHouse restarted about once a minute with "Cannot schedule a task: failed to start the thread" while loading its own system tables, so the dashboard was down. The user had been on a very small EC2 instance ("I think micro"), and moving to a larger one fixed it
GitHub issue, Sep to Oct 2026
GitHub GitHub plausible/analytics #6680: Clickhouse keeps restarting · checked Nov 3, 2026
-
The ClickHouse volume reached 44 GiB and filled the disk while the events table held only about 700k rows and about 10 MiB of active parts. Another user saw 30 GB in three days; a third found system.trace_log at 25.81 GiB. One user said the folder stopped growing after switching to the repo's default ClickHouse config files
GitHub issue, opened Sep 2025, still open; comments through Dec 2025
GitHub GitHub plausible/community-edition #256: ClickHouse store folder grows uncontrollably · checked Nov 3, 2026
-
Even with the shipped logs.xml, processors_profile_log reached "almost 2GB" on one setup, because it isn't disabled and has no TTL. A follow-up pull request measured about 36 rows per query in that table
GitHub issue #275 (Jun 2026) and pull request #280 (Aug 2026), both still open
GitHub GitHub plausible/community-edition #275: Why no processors_profile_log in logs.xml? · checked Nov 3, 2026
-
On a 4-core, 8 GB server tracking about 150k goal conversions a week, the Goal Conversions report for 7 days took 60 seconds at about 120% CPU, and 28 days hit a 120-second Cloudflare timeout after upgrading from v2.0.0-rc.0 to v3.2.1
GitHub issue, Sep 2026, still open; the reporter isn't sure whether it is a regression or an upgrade problem
GitHub GitHub plausible/community-edition #283: Goal Conversions performance regression · checked Nov 3, 2026
Our measurements: coming soon
We haven't measured Plausible Analytics (Community Edition) yet, so there are no VPSfit lab numbers on this page. When we do, they'll show the app version, the plan it ran on, the date, and the raw data. Here's what we'll record:
- Idle and 24-hour RAM and CPU of Plausible CE 3.2.1 with the default compose on a 2 GB and a 4 GB plan
- How long a 12-month dashboard takes to load at 10k, 100k and 1M monthly page views on 1 and 2 vCPU
- Disk growth of the ClickHouse volume over 30 days with and without processors_profile_log disabled
- Whether a 1 GB plan with 2 GB of swap stays up for a week with one low-traffic site
What drives Plausible Analytics (Community Edition)'s RAM use
ClickHouse, not Plausible, is the big process
In one user's docker stats, the Plausible app took 23 MiB and PostgreSQL 36 MiB, while ClickHouse took 541 MiB (#301). ClickHouse is built for huge datasets, so the CE repo ships settings that cap its caches and threads for small servers (clickhouse/). Keep those files mounted; at least one of the disk-filling reports was cured by going back to them.
Idle CPU is real
ClickHouse runs background merges and flushes its own logs even with no visitors. Users have reported 5 to 15% CPU at idle (#301). On a shared 1 vCPU plan that's noticeable, and some cheap plans have fair-use limits on sustained CPU, so check your plan's terms. The CPU must also support SSE 4.2 or NEON, which any current VPS does, but very old or emulated CPUs may not.
Disk: your events are small, ClickHouse's logs may not be
Analytics events compress well: one user's 700k-row events table was about 10 MiB (#256). What fills disks is ClickHouse's system tables, such as trace_log and processors_profile_log, when they aren't disabled or capped (#275). Start with at least 20 GB of disk (our estimate) and check table sizes after the first month.
Gotchas on a VPS
- Add processors_profile_log to logs.xml yourself. Until PR #280 is merged, add
<processors_profile_log remove="remove" />toclickhouse/logs.xmland restart ClickHouse. Then check what's using space with a query onsystem.partsgrouped by table; anysystem.*table in the gigabytes is a log you can disable or truncate. - Don't drop the low-resource files from a custom compose. If you write your own compose file or use an older template, copy all four ClickHouse files from the repo (
logs.xml,ipv4-only.xml,low-resources.xmland the default-profile overrides). Without them ClickHouse logs far more and sizes itself for a much bigger server (#256). - Bind-mounted data folders need the right owner. The default compose uses named volumes. If you switch to host folders, the Plausible container can fail with
enoenterrors; one user fixed it by making theplausible-datafolder owned by user 999 (#206). - Registration and the public dashboard. Create your own account right after
docker compose up, before anyone else finds the page. After that, registration is invite-only by default; setDISABLE_REGISTRATION=trueif you'll never invite anyone (configuration). - It has to be reachable from the internet. Unlike most apps here, Plausible must accept tracking requests from every visitor's browser, so it can't live only behind a VPN. You can still keep the server at home and publish just the Plausible hostname through a tunnel such as Pangolin. Behind your own reverse proxy, leave
HTTPS_PORTunset and point the proxy atHTTP_PORT(8000 by default). - Back up both databases. Accounts and site settings are in PostgreSQL; the analytics are in ClickHouse. Back up the
db-dataandevent-datavolumes (or dump both databases) with the containers stopped, and copy them off the server. We haven't tested a restore ourselves yet.
Cheapest plans that fit
Plausible CE alone (app, PostgreSQL, ClickHouse) for a few small sites: 2 GB RAM and 1+ vCPU
Threshold: Official CE guide: at least 2 GB of RAM recommended. Not yet measured by us (source). Only plans with at least 1 vCPU are listed.
| Provider & plan | RAM | vCPU | Disk | Price / month | Terms | Source |
|---|---|---|---|---|---|---|
| Contabo Cloud VPS 4 | 8 GB | 4 shared | 100 GB SSD | €4.40 excl. VAT · ≈ $4.93 |
24-month term (effective monthly rate) | contabo.com checked Oct 28, 2026 |
| Contabo Cloud VPS 6 | 12 GB | 6 shared | 200 GB SSD (or 100 GB NVMe) | €6.00 excl. VAT · ≈ $6.73 |
24-month term (effective monthly rate) | contabo.com checked Oct 28, 2026 |
| Vultr Cloud Compute Regular 2 GB | 2 GB | 1 shared, previous-gen Intel | 55 GB SSD | $10.00 before tax |
Monthly price, hourly billing | vultr.com checked Oct 28, 2026 |
| Hostinger KVM 1 | 4 GB | 1 AMD EPYC | 50 GB NVMe | $11.99 intro $6.49 before tax |
Prepaid intro rate; renews at $11.99/mo | hostinger.com checked Oct 28, 2026 |
Plausible CE next to other apps, or for busier sites: 4 GB RAM and 2+ vCPU
Threshold: Our estimate, not a measurement: 2 GB for Plausible plus room for neighbours, and a second vCPU for ClickHouse queries (source). Only plans with at least 2 vCPUs are listed.
| Provider & plan | RAM | vCPU | Disk | Price / month | Terms | Source |
|---|---|---|---|---|---|---|
| Contabo Cloud VPS 4 | 8 GB | 4 shared | 100 GB SSD | €4.40 excl. VAT · ≈ $4.93 |
24-month term (effective monthly rate) | contabo.com checked Oct 28, 2026 |
| Contabo Cloud VPS 6 | 12 GB | 6 shared | 200 GB SSD (or 100 GB NVMe) | €6.00 excl. VAT · ≈ $6.73 |
24-month term (effective monthly rate) | contabo.com checked Oct 28, 2026 |
| Contabo Cloud VPS 8 | 24 GB | 8 shared | 300 GB SSD (or 150 GB NVMe) | €11.20 excl. VAT · ≈ $12.56 |
24-month term (effective monthly rate) | contabo.com checked Oct 28, 2026 |
| Hostinger KVM 2 | 8 GB | 2 AMD EPYC | 100 GB NVMe | $14.99 intro $8.79 before tax |
Prepaid intro rate; renews at $14.99/mo | hostinger.com checked Oct 28, 2026 |
Prices checked Oct 28, 2026 on each provider's official pricing page. EUR prices converted at the ECB rate of Oct 27, 2026 (1 € = $1.115) only for ranking. See all plans on the cheapest 4 GB VPS page.