Self-Hosted Analytics on a Romania VPS: Plausible, Matomo or Umami?
Which analytics tool fits a small VPS? Honest RAM, disk and traffic sizing for Plausible, Matomo, Umami and GoatCounter — plus GDPR and ad-blocker reality.
If you want to drop Google Analytics and keep your visitor data on hardware you control, a €4.99–€9.99/mo VPS in Romania is enough for almost any site under a few hundred thousand monthly pageviews. The tool you pick matters more than the plan: Umami or GoatCounter run comfortably in 1 GB of RAM, while Plausible Community Edition ships with ClickHouse and realistically wants 4 GB to be stress-free. This guide maps each option to real specs, real disk growth, and what self-hosting does and doesn't fix about privacy law and ad-blockers.
Direct answer: which tool for which server
Four self-hostable options cover nearly every use case, and they have very different resource profiles.
Umami — Node.js app plus PostgreSQL or MySQL. Cookieless by design, clean dashboard, actively maintained. Runs fine on 1 GB RAM for a handful of low-to-mid traffic sites. The lightest option that still looks and feels like a modern product.
GoatCounter — a single Go binary with SQLite (PostgreSQL optional). The smallest footprint of the four; it will run in a couple hundred megabytes. Fewer features, minimal maintenance, excellent if you only want pageviews, referrers and basic breakdowns.
Plausible Community Edition — the self-hosted build of Plausible, which uses ClickHouse for event storage and PostgreSQL for app data. Excellent dashboard and the best data model of the group, but ClickHouse is a columnar analytics database designed for throughput, not for 1 GB boxes. You can constrain it with memory settings, but it's an ongoing tuning chore. Plan for 4 GB.
Matomo — PHP-FPM, nginx or Apache, and MySQL/MariaDB. The most feature-rich (goals, ecommerce, heatmaps via plugins, log importing) and the closest thing to a Google Analytics replacement feature-for-feature. The catch is report archiving: Matomo pre-computes reports from raw visit logs via cron, and on busy sites that job is the heaviest thing on the server. It works on 1 GB for a small site, but 4 GB makes it pleasant.
If you're unsure and the server is small, start with Umami. It is the best ratio of features to resource use, and migrating away later costs you only historical data, not a weekend.
How much server do you actually need?
Analytics load scales with events per month, not with the number of sites. A single VPS tracking twenty small blogs is lighter work than one tracking a single busy forum.
Rough mapping against the plans at IronBalkans' current pricing:
- Iron 1 (1 vCPU, 1 GB RAM, 15 GB NVMe, €4.99/mo) — GoatCounter or Umami with PostgreSQL, for sites totalling up to roughly a few hundred thousand pageviews a month. Tight but workable for Matomo on one low-traffic site if you enable browser-triggered archiving only off-peak. Do not put Plausible CE here.
- Iron 2 (2 vCPU, 4 GB RAM, 35 GB NVMe, €9.99/mo) — the sensible default. Plausible CE runs properly, Matomo archives without timing out, or Umami handles a genuinely busy site. There's headroom left for the website itself if you're already hosting several sites on one VPS behind a reverse proxy.
- Iron 3 (4 vCPU, 8 GB RAM, 70 GB NVMe, €19.99/mo) — millions of events a month, multi-year retention, or an agency-style setup tracking many client properties at once.
Disk is the sleeper constraint. ClickHouse compresses event data aggressively, so Plausible's storage growth is modest — tens of megabytes per million events is a reasonable planning figure, plus overhead. Matomo is the opposite: its raw matomo_log_visit and matomo_log_link_visit_action tables are the bulk of the database and grow linearly with traffic. If you never purge raw logs, a popular site will eat 15 GB. Matomo has a built-in setting to delete raw data older than N months once reports are archived — turn it on from day one rather than discovering the problem when the disk fills.
For a detailed view of how RAM, NVMe and bandwidth map to workloads beyond analytics, the Romania VPS sizing guide covers the broader picture.
Bandwidth is almost never an issue here. Analytics beacons are tiny — a few hundred bytes per event. Even the 1 TB included on the smallest plan is far more than any analytics workload will touch; the traffic your website serves is what consumes the allowance.
Why self-host analytics at all
Three reasons come up repeatedly, and only two of them are about ideology.
You stop exporting your visitors to a third party. With Google Analytics, every visitor's browser contacts Google and your audience data lives in Google's systems. Self-hosting means the request terminates on your server, and the only parties with the data are you and your host. That's the actual change — not "no data collected," but "no third party in the chain."
EU data residency becomes simple. Hosting the analytics instance inside the EU removes the international transfer question that made Google Analytics legally awkward for several European data protection authorities. Romania is an EU member state, so a Bucharest-hosted instance keeps processing inside the EU by default. What GDPR still asks of you — a lawful basis, retention limits, and a processor relationship with your host — is unchanged; see our breakdown of GDPR and no-KYC VPS hosting for where the actual obligations land.
You own the retention policy. You decide whether raw data lives for 6 months or 6 years, and you can anonymise at ingest. That pairs naturally with minimising your server logs — there's little point stripping IPs from your analytics while nginx keeps a full-resolution access log of every request for a year.
If you'd rather the analytics server itself not be tied to your legal identity — because it's a research project, a pseudonymous publication, or simply nobody's business — that's where a no-KYC host matters: IronBalkans accounts need no email, name, phone or ID, billing is Monero, Bitcoin or Litecoin, and the VPS is live in under 60 seconds after the payment confirms.
What to check before you pay
A few things determine whether this project is pleasant or painful, and most are verifiable before you spend anything:
- Real KVM virtualization. ClickHouse and MariaDB both want predictable memory and direct kernel control. Full KVM with dedicated vCPU, RAM and NVMe avoids the container-level surprises that break database workloads on cheaper OpenVZ-style plans.
- Dedicated IPv4 and working rDNS. You'll point
analytics.yourdomain.comat this box and issue a TLS certificate. A shared or NATed IP complicates both. - Room to upgrade. Analytics databases grow in one direction. Confirm you can move from a 1 GB to a 4 GB plan without rebuilding from scratch.
- Flat monthly pricing. Metered billing on a service that's cheap to run but constantly writing to disk is an unnecessary variable. Every IronBalkans plan is flat monthly, includes DDoS protection, a dedicated IPv4 and a /64 IPv6 block, with no renewal price increases.
Common mistakes
Running Plausible CE on 1 GB and blaming the host. ClickHouse will allocate what it's allowed to allocate. On a small box it gets OOM-killed, the container restarts, and it looks like the server is unstable. It isn't — it's the wrong tool for that plan.
Exposing the database port. Postgres on 5432 or MariaDB on 3306 bound to the public interface is the single most common way these setups get compromised. Bind to localhost or a Docker-internal network only. Note that published Docker ports can bypass your host firewall's INPUT rules, so verify with ss -tlnp rather than trusting your ruleset.
No backups of the analytics database. It's "just analytics" right up until you want a year-over-year comparison. A nightly dump to encrypted off-site storage takes an hour to set up.
Expecting self-hosting to defeat ad-blockers. It won't, entirely. Serving the script from your own domain avoids blocklists that match on third-party analytics domains, but filter lists also match on script filenames and request paths, and some lists include known self-hosted analytics endpoints. Renaming the script and proxying it under an innocuous path improves collection rates; it does not guarantee them. Treat self-hosted numbers as directionally useful, not absolute.
Assuming cookieless means consent-free. Plausible, Umami and GoatCounter avoid cookies and don't build cross-site profiles, which is a genuine improvement. Whether your specific configuration needs consent still depends on what you store and your jurisdiction's reading of the ePrivacy rules. Don't let a marketing page make that call for you.
Pros and cons, honestly
Pros: full ownership of the data, EU residency by default, no vendor pricing tiers as traffic grows, retention entirely under your control, and the same server can host the website it's measuring.
Cons: you are now the DBA. Upgrades, backups, disk monitoring and the occasional ClickHouse quirk are yours. Hosted Plausible or Fathom costs money precisely so you don't have to care. If your time is worth more than €9/mo and you have no interest in Linux maintenance, a hosted service is the rational choice — self-hosting makes sense when privacy, cost at scale, or data ownership actually matters to you.
FAQ
Can I run analytics on the same VPS as my website? Yes, and on Iron 2 or larger it's comfortable. On a 1 GB plan, pairing Matomo with a WordPress install is asking for memory pressure — use Umami or GoatCounter instead.
Does hosting analytics in Romania hurt dashboard speed for non-EU users? Only the dashboard, and only slightly. Bucharest is well-connected within Europe; a US-based admin sees a few hundred milliseconds of extra latency on page loads, which is irrelevant for a reporting interface.
Can I import historical Google Analytics data? Matomo offers importers for GA data and for server log files. Plausible CE and Umami support CSV-style imports with varying completeness. Check current documentation before relying on it — import tooling changes.
Will a no-KYC host give me a GDPR data processing agreement? Ask before you buy if you need one. A host that doesn't collect your identity still processes data on your behalf, and whether a formal DPA is available is a question worth asking in writing — the FAQ and the Telegram/SimpleX contact channels are the places to start.
Get started
Pick the tool that fits your traffic, not the one with the nicest screenshots: Umami or GoatCounter on a 1 GB plan, Plausible CE or Matomo on 4 GB. Then give it a server you can deploy in a minute and pay for without handing over an identity — create an account and deploy with Monero, Bitcoin or Litecoin, no email required.
