Главная/Разработка/Matomo
Установка Matomo на свой сервер
Установка Matomo в Docker состоит из двух контейнеров: официального образа matomo с PHP и базы MariaDB. Matomo хранит все данные посещений на вашем сервере, а для сайтов с заметным трафиком отчёты нужно считать по расписанию командой core:archive.
Ответ за 30 секунд
Для небольшого сайта хватит 2 ГБ памяти и 1-2 ядер. Отключите расчёт отчётов в браузере и запустите core:archive по cron: иначе на большом сайте отчёты считаются в момент открытия и тормозят.
Почасовая оплата: Matomo можно проверить на тестовом сайте и удалить сервер.
Сколько памяти и диска нужно Matomo2контейнера: matomo и MariaDB
core:archiveкоманда расчёта отчётов
16 ГБпамяти просит PostHog по документации
01 · 1 мин
Чем Matomo отличается от PostHog#
| Matomo | PostHog (свой сервер) | |
|---|---|---|
| Задача | Веб-аналитика сайта: источники, страницы, цели | Аналитика продукта: события, воронки, записи сессий |
| Что ставить | 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#
- Поставьте Docker и создайте каталог
matomoс файлом.env: две строкиDB_ROOT_PASSWORD=...иDB_PASSWORD=.... - Положите compose-файл рядом с
.envи запустите контейнеры:docker compose up -d. - Откройте мастер установки через SSH-туннель на порт 8080. В шаге про базу укажите сервер
db, пользователя и базуmatomoи пароль из.env. - Создайте суперпользователя, добавьте сайт и скопируйте код отслеживания на страницы.
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.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов