It all started with a desire: I wanted some basic analytics for this blog to know how it’s
doing, which articles are popular and which are the main referrers. But therein lied the
conundrum: I am a privacy zealot, very much against extensive online tracking (just look
at the browser extensions I use), so using a
third-party service that collected all my visitors’ data was against the question.
I knew there were open-source web analytics projects out there, like Piwik which has been
around for a long time, but never had the time or need to look into them seriously. Until
now.
Please note that this article is by no means an extensive list. There are a lot of other
options out there, just check out this big
list. Each software has its own pros
and cons, but I hope this article can help you choose and make the jump towards
self-hosted analytics, or at least to abandon Google Analytics in favor of an
open-source-based SAAS option.
I researched options for my specific use case:
-
Must be free software (free as in freedom, not as in free beer) and self-hosted.
-
Simple deployment, the fewer moving parts the better. SQLite if possible so no DB
server will be needed. No Redis/Memcached if it can be avoided. Option to deploy without
Docker would be nice. -
Reasonable resource usage. My sites don’t usually get a lot of traffic, so I would like
to reuse the 2 GB VPS that hosts this blog. -
Technology that I can easily hack is a plus. I will favor Python projects, but YMMV.
-
Lightweight and not too intrusive. I basically just want to know which articles are
seen when, plus referrers, no need for advanced analytics. -
Actively maintained.
-
GPLv3. Paid SAAS cloud service with free self-hosting option.
-
- Requires a webserver (Apache, Nginx, etc.)
- Requires MySQL.
- Configuration of Matomo is all done in-app.
-
Matomo self-hosted requirements:
- <100k page views/month: 1 server for both app and DB. 2 CPU, 2 GB RAM, 50GB SSD disk.
- ~1M