analytics
Matomo Cloud logo

Should I self-host Matomo Cloud?

YESworth it

It is literally the same software. Matomo Cloud charges $26/mo to run the GPL code they publish; the apache image plus MariaDB is a one-evening setup and the data lands in your database instead of theirs.

The math (nothing hidden, including your time)

Matomo Cloud (Business · 50,000 hits/month)$26.00/mo
VPS share + storage−$1.00/mo
Your maintenance: 30 min/mo at $20/h−$10.00/mo
Net saving$15.00/mo
Setup: 31 min measured (one-time)$10.33
Break-even0.7 months
Markup Index (price ÷ real self-host cost)2.4×

Price: source, checked 2026-08-06. Inputs are stored in git; every number above is derived, never hand-written.

What you lose

  • Managed upgrades and their support SLA
  • Cloud-side raw data retention policies become your storage problem

What you're paying Matomo Cloud for

  • web analytics
  • goals & funnels
  • visitor logs
  • GDPR-friendly tracking
Matomo running from the boot-verified compose file
Matomo, running from the compose file on this page — screenshot from our verified instance, not marketing material.

Ranked alternatives

The full Google-Analytics-shaped suite on your own hostname, with visitor profiles, funnels and no monthly hit meter.

matomo-org/matomo · ★ 21,756 · last commit 0d ago · GPL-3.0

The same privacy-first analytics dashboard the vendor sells, on your own domain, with no pageview meter counting against you.

plausible/analytics · ★ 28,463 · last commit 0d ago · AGPL-3.0

Hardware

Runs comfortably on a real VPS (2 GB+).

The tested compose file (our evidence, CI-booted)

# Matomo — the analytics standard; apache image + mariadb
services:
  matomo:
    image: matomo:apache
    container_name: matomo
    restart: unless-stopped
    depends_on:
      matomo-db:
        condition: service_healthy
    environment:
      MATOMO_DATABASE_HOST: matomo-db
      MATOMO_DATABASE_DBNAME: matomo
      MATOMO_DATABASE_USERNAME: matomo
      MATOMO_DATABASE_PASSWORD: matomo
    ports:
      - "8100:80"
    volumes:
      - matomo-data:/var/www/html
    healthcheck:
      test: ["CMD-SHELL", "php -r 'exit(@file_get_contents(\"http://localhost:80/\")!==false?0:1);'"]
      interval: 10s
      timeout: 10s
      retries: 30
      start_period: 30s
  matomo-db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: matomo
      MARIADB_USER: matomo
      MARIADB_PASSWORD: matomo
      MARIADB_ROOT_PASSWORD: matomo-root
    volumes:
      - matomo-db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 12
volumes:
  matomo-data:
  matomo-db:

Want a guided install instead? caniselfhostit.com/matomo-cloud has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

Verification

Protocol v1 · verified by zernonia on 2026-08-10 · setup measured at 31 min · AI assistant: claude-code (allowed & stated)

What broke

  • Boot to healthy measured at 39s on the 2GB reference env
Full timed log
# Matomo Cloud — verdict log

- **Date:** 2026-08-10
- **Verdict:** YES — worth it
- **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code)

## Setup evidence

- Compose: `compose/matomo-cloud-matomo.yml`
- Boot to healthy: **39s** measured this session
- Setup time recorded: 31 min (boot + configuration to first working workflow)

## What broke / notes

- Boot to healthy measured at 39s on the 2GB reference env

## The call

It is literally the same software. Matomo Cloud charges $26/mo to run the GPL code they publish; the apache image plus MariaDB is a one-evening setup and the data lands in your database instead of theirs.

Verdict history

  • 2026-08-10: unscored → YES — Initial verdict: It is literally the same software.