Главная/Разработка/Matomo

Установка Matomo на свой сервер

Установка Matomo в Docker состоит из двух контейнеров: официального образа matomo с PHP и базы MariaDB. Matomo хранит все данные посещений на вашем сервере, а для сайтов с заметным трафиком отчёты нужно считать по расписанию командой core:archive.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для небольшого сайта хватит 2 ГБ памяти и 1-2 ядер. Отключите расчёт отчётов в браузере и запустите core:archive по cron: иначе на большом сайте отчёты считаются в момент открытия и тормозят.

Почасовая оплата: Matomo можно проверить на тестовом сайте и удалить сервер.

Сколько памяти и диска нужно Matomo

01 · 1 мин

Чем Matomo отличается от PostHog#

MatomoPostHog (свой сервер)
ЗадачаВеб-аналитика сайта: источники, страницы, целиАналитика продукта: события, воронки, записи сессий
Что ставитьPHP-приложение и MySQL или MariaDBНабор сервисов одним скриптом hobby
СерверХватает 2 ГБ памяти для началаДокументация: 4 vCPU, 16 ГБ памяти, более 30 ГБ диска

Под требования PostHog из готовых конфигураций Таймвеб Клауд подходит MSK Ultra 160 (8 ядер, 16 ГБ, 160 ГБ) за 20 040 ₽ в месяц на 14 октября 2026. Бесплатная версия PostHog для Docker Compose выпускается под лицензией MIT, ставится командой из документации. Если нужен лёгкий счётчик без cookie, сравните с Plausible.

Инструмент · 1 мин

Сколько памяти и диска нужно Matomo#

Matomo при регистрации визита делает несколько записей в базу, поэтому нагрузка идёт на MariaDB и диск, а не на процессор. Память нужна под расчёт отчётов: на больших сайтах архивация занимает заметную часть ресурсов, и её переносят на ночь или по расписанию.

Диск растёт от числа посещений и от того, сколько времени вы храните сырые данные. Размер таблиц покажет запрос:

SELECT table_name, ROUND((data_length + index_length) / 1048576) AS mb
FROM information_schema.tables WHERE table_schema = 'matomo'
ORDER BY mb DESC LIMIT 5;

Какой сервер взять под Matomo

Три ответа, и калькулятор подберёт готовую конфигурацию

Сколько визитов в месяц
Сколько сайтов в аналитике
Сырые визиты

03 · 1 мин

Установка Matomo через Docker Compose с MariaDB#

  1. Поставьте Docker и создайте каталог matomo с файлом .env: две строки DB_ROOT_PASSWORD=... и DB_PASSWORD=....
  2. Положите compose-файл рядом с .env и запустите контейнеры: docker compose up -d.
  3. Откройте мастер установки через SSH-туннель на порт 8080. В шаге про базу укажите сервер db, пользователя и базу matomo и пароль из .env.
  4. Создайте суперпользователя, добавьте сайт и скопируйте код отслеживания на страницы.
services:
  db:
    image: mariadb
    command: --max-allowed-packet=64MB
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: $DB_ROOT_PASSWORD
      MYSQL_DATABASE: matomo
      MYSQL_USER: matomo
      MYSQL_PASSWORD: $DB_PASSWORD
    volumes:
      - db_data:/var/lib/mysql
  app:
    image: matomo
    restart: unless-stopped
    depends_on: [db]
    ports:
      - "127.0.0.1:8080:80"
    volumes:
      - matomo_data:/var/www/html
volumes:
  db_data:
  matomo_data:

Официальный образ matomo содержит Apache и PHP, а базу не включает, поэтому MariaDB идёт отдельным контейнером. Есть и вариант matomo:fpm, но ему нужен свой веб-сервер.

04 · 1 мин

Расчёт отчётов Matomo по cron вместо браузера#

По умолчанию Matomo пересчитывает отчёты, когда кто-то открывает интерфейс. Пока сайт маленький, это незаметно. На большом сайте первый посетитель панели ждёт, пока считается всё накопленное, и расчёт может упереться в лимиты PHP.

Правильная схема: в настройках системы отключите расчёт отчётов из браузера, а команду архивации запустите по расписанию:

5 * * * * cd /opt/matomo && docker compose exec -T -u www-data app php /var/www/html/console core:archive --url=https://matomo.example.com/ > /dev/null

Ключ -u www-data важен: от root команда создаст временные файлы, которые потом не сможет прочитать веб-сервер.

05 · 1 мин

Домен, HTTPS и реальные IP посетителей в Matomo#

Поставьте перед портом 8080 прокси, например Caddy со строкой reverse_proxy 127.0.0.1:8080. Затем в файле config/config.ini.php внутри тома, в разделе General, задайте: force_ssl = 1, trusted_hosts[] = "matomo.example.com" и proxy_client_headers[] = "HTTP_X_FORWARDED_FOR". Последняя строка нужна, чтобы Matomo записывал адрес посетителя, а не адрес прокси.

06 · 1 мин

Очистка сырых данных, копии и обновление Matomo#

Сырые визиты занимают основной объём, а готовые отчёты малы. В настройках приватности есть удаление старых сырых данных: отчёты за прошлые периоды остаются, а таблицы перестают расти. Включайте удаление только после того, как убедились, что отчёты за нужный срок уже рассчитаны.

В копию кладите дамп базы mysqldump matomo и файл config/config.ini.php: в нём лежат соль и параметры подключения. Порядок копий: сервер для бэкапов. Обновление: docker compose pull, docker compose up -d, затем console core:update внутри контейнера.

07 · 1 мин

Вопросы об установке Matomo#

Какую базу выбрать для Matomo: MySQL или MariaDB?

Подойдёт любая из двух. В compose-файле выше взята MariaDB, потому что её образ проще настраивать.

Почему отчёты Matomo медленно открываются на большом сайте?

Отчёты считаются при открытии интерфейса. Отключите расчёт в браузере и запускайте core:archive по cron.

Чем PostHog отличается от Matomo при установке на свой сервер?

Matomo считает посещения сайта и ставится вдвоём с MariaDB. PostHog следит за событиями в продукте и по документации просит 4 vCPU и 16 ГБ памяти.

Нужно ли согласие на cookie при установке Matomo?

Matomo умеет работать без cookie, для этого в коде отслеживания есть метод disableCookies. Нужно ли согласие на вашем сайте, зависит от закона и других сервисов: обсудите это с юристом.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация PostHog: установка на свой сервер (hobby), posthog.com/docs/self-host, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Запустите свой сервер за пару минут

Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Ресурсы