Layer 5 · self-hosting reality check
What it actually takes to self-host Matomo
The docs say 1 GB. In practice you want 4 GB once traffic is real, and MySQL wants most of it. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Google Analytics alternatives, where Matomo is one of the picks.
| RAM — documented minimum | 1 GB |
|---|---|
| RAM — what it really needs | 4 GB once traffic is real, and MySQL wants most of it |
| CPU | 2 vCPU, more for report generation |
| Disk | 40 GB and it grows with every raw hit stored |
| Monthly cost | $25–45/mo for a moderately busy site |
| Setup time | 1–2 hours |
| How you install it | PHP with MySQL or MariaDB; docker compose is available |
| Ongoing maintenance | Active. Archiving must be moved to cron or the site slows down. |
| Where it stops scaling | Millions of hits a month with tuning; beyond that, plan for a separate database host. |
The thing that catches people out
Matomo archives reports on the fly by default, which means the first person to open a dashboard triggers the aggregation and waits for it. On a busy site that turns into minute-long page loads and occasional timeouts. Disabling browser-triggered archiving and running it from cron is the standard fix and it is not the default — nearly every 'Matomo is slow' thread ends here.
When not to self-host Matomo
Your traffic is large and you do not want to run a database at that scale. The raw-hit storage model is heavier than a sampled one.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Mattermost4 GB for a team of 50 with PostgreSQL on the same box
- Self-hosting Rocket.Chat6 GB with MongoDB on the same machine
Common questions
- How much RAM does Matomo actually need?
- 4 GB once traffic is real, and MySQL wants most of it in practice. The documented minimum is 1 GB, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU, more for report generation alongside it.
- What does self-hosting Matomo cost per month?
- $25–45/mo for a moderately busy site This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for active. Archiving must be moved to cron or the site slows down.
- How long does it take to set up Matomo?
- 1–2 hours, via PHP with MySQL or MariaDB; docker compose is available.
- When should I NOT self-host Matomo?
- Your traffic is large and you do not want to run a database at that scale. The raw-hit storage model is heavier than a sampled one.
- What is the most common mistake when self-hosting Matomo?
- Matomo archives reports on the fly by default, which means the first person to open a dashboard triggers the aggregation and waits for it. On a busy site that turns into minute-long page loads and occasional timeouts. Disabling browser-triggered archiving and running it from cron is the standard fix and it is not the default — nearly every 'Matomo is slow' thread ends here.