Установка Umami на Ubuntu и подключение аналитики

Содержание
- Почему выбрать Umami для аналитики сайта
- Подготовка: установка Docker и Docker Compose на Ubuntu
- Установка Umami (клонирование репозитория и запуск)
- Защита: SSL reverse proxy через Nginx и Certbot
- Добавление трекинга Umami на сайт
- Контроль качества: проверка и критерии приёмки
- Безопасность и жёсткие рекомендации
- Когда Umami не подходит и альтернативы
- Быстрые контрольные списки для ролей
- Краткое резюме и ссылки
Почему выбрать Umami для аналитики сайта
Umami — лёгкое, приватное и простое в развёртывании решение для веб-аналитики. Оно собирает минимально необходимую информацию, не использует cookie для базовой работы и предназначено для тех, кто хочет анализировать трафик без компромиссов по приватности.
- Приватность: анонимизация данных посетителей и отсутствие обязательных cookie для основных отчётов.
- Простота: удобный интерфейс и минимальные системные требования по сравнению с типичными монолитными решениями.
- Бесплатность: проект с открытым исходным кодом, который можно хостить на собственном сервере.

Важно: Umami не заменяет бизнес-аналитику и BI-инструменты; это инструмент для отслеживания посетителей, событий и базовой статистики поведения.
Подготовка: установка Docker и Docker Compose на Ubuntu
Перед развёртыванием Umami установите Docker и плагин Docker Compose. Команды ниже приведены с исправленными пробелами и рекомендованы для Ubuntu. Выполняйте от имени пользователя с sudo.
- Добавьте ключ подписи Docker и создайте каталог keyrings:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg- Создайте файл репозитория Docker. Вместо жёстко заданного имени релиза используйте команду определения вашей версии Ubuntu (lsb_release -cs):
sudo nano /etc/apt/sources.list.d/docker.listВставьте (одной строкой):
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable- Обновите пакеты и установите Docker и сопутствующие инструменты:
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx gitПримечание: если вы используете другую дистрибутивную ветвь Linux — адаптируйте шаги установки Docker под вашу систему.
Установка Umami
- Скачайте исходники Umami из официального репозитория и перейдите в каталог:
cd ~ && git clone https://github.com/umami-software/umami.git
cd ~/umami- Откройте предустановленный docker-compose.yml и задайте секрет приложения (APP_SECRET). Этот секрет используется для подписи сессий и секретных операций — сгенерируйте достаточно случайную строку.
sudo nano ./docker-compose.ymlВ секции environment замените значение APP_SECRET на случайную строку. Пример генерации случайного 32-символьного ключа:
cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1
- Сохраните файл и запустите контейнеры:
sudo docker compose up -d- Проверьте, что контейнеры запущены:
docker ps
Хорошо знать: управление контейнерами можно автоматизировать и интегрировать с системами мониторинга, такими как Prometheus/Grafana, если вам нужна SLI-панель.
Защита: SSL reverse proxy через Nginx и Certbot
Umami по умолчанию слушает локально (обычно на порте 3000). Чтобы безопасно открыть интерфейс в интернете — пропустите трафик через Nginx и получите валидный TLS-сертификат от Let’s Encrypt с помощью Certbot.
Добавьте A-запись в DNS вашего домена, указывающую на IPv4 адрес сервера (пример: umami.example.com).
Установите snap core и certbot (если ещё не установлены):
sudo snap install core
sudo snap install certbot --classic- Создайте конфигурацию сайта Nginx:
sudo nano /etc/nginx/sites-available/umamiВставьте минимальную конфигурацию (замените SUBDOMAIN.YOUR-ROOT.DOMAIN на ваш домен):
server {
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}
}
- Включите сайт и перезагрузите Nginx:
sudo ln -s /etc/nginx/sites-available/umami /etc/nginx/sites-enabled/
nginx -t
sudo systemctl reload nginx.service- Зарегистрируйте Certbot и получите сертификат (укажите ваш e‑mail и домен):
sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN- Проверьте доступность Umami по HTTPS в браузере: https://SUBDOMAIN.YOUR-ROOT.DOMAIN

Important: если ваш сервер находится за NAT/файерволом — откройте порты 80 и 443 для получения сертификата и доступа.
Добавление трекинга Umami на ваш сайт
После первого запуска Umami по адресу https://ваш-домен у вас будет стандартный пользователь admin/umami. Смените пароль при первом входе — это критично.
- Смена пароля администратора:
- Нажмите на иконку пользователя в правом верхнем углу.

- Выберите пункт Профиль (Profile).

- Нажмите Изменить пароль, введите текущий пароль и новый.

- Добавление сайта для отслеживания:
- Откройте Settings → Add Website.
- Укажите название и домен (например, web.example.com).
- Сохраните и откройте Edit → Tracking Code.

- Скопируйте HTML-сниппет из вкладки Tracking Code и вставьте его в каждой страницы, где нужно собирать данные.

- Проверьте: откройте ваш сайт, затем панель Umami — данные о сессиях/посещениях должны появиться в реальном времени.

Контроль качества и критерии приёмки
Минимальные критерии успешного развёртывания:
- Контейнеры Umami запущены и в статусе healthy (docker ps показывает сервисы).
- Nginx корректно проксирует трафик на localhost:3000 и Nginx проходит проверку nginx -t.
- TLS-сертификат выдан и сайт доступен по HTTPS.
- Пользовательский интерфейс Umami открывается, можно сменить пароль.
- Трекинг-код вставлен в и события/просмотры отражаются в панели.
Критерии приёмки: при обновлении страницы сайта в панели Umami должна появляться запись о посещении в пределах нескольких секунд.
Безопасность и жёсткие рекомендации
- Смените стандартный логин/пароль администратора сразу после развёртывания.
- Используйте сложный APP_SECRET и храните его в безопасном хранилище (Vault, конфиг менеджер).
- Отключите открытые административные интерфейсы в публичном доступе или ограничьте их по IP.
- Регулярно обновляйте образы Docker и систему безопасности сервера.
- Настройте бэкапы данных (база данных Umami) и проверяйте восстановление.
- Настройте автоматическое обновление Certbot или cron-задачу для продления сертификатов.
Когда Umami не подходит и альтернативы
Когда не подходит:
- Вам нужны расширенные отчёты BI и объединение множества источников данных — лучше использовать аналитические платформы и ETL.
- Необходимы сложные сегментации и фичи, специфичные для e‑commerce (Umami покрывает базовые события и цели, но не заменит полноценный маркетинговый стек).
Альтернативы и варианты:
- Matomo: более функциональная платформа с опциями хостинга и платными версиями.
- Plausible: минималистичная приватная аналитика (SaaS и self-host варианты).
- Использование серверных логов + аналитики (ELK/ClickHouse) — для больших объёмов данных.
Быстрые чек‑листы для ролей
Администратор:
- Изменён пароль администратора
- APP_SECRET задекларирован и защищён
- Бэкап политик разрешений и конфигов
DevOps / Инженер:
- Docker‑контейнеры в актуальном состоянии
- Nginx проксирование и TLS работают
- Мониторинг ресурсов и логов настроен
Владелец сайта / Вебмастер:
- Трекинг-код вставлен в всех страниц
- Отслеживаемые события и цели настроены
- Проверено отображение данных в панели
Устранение распространённых проблем (короткий раздел)
Проблема: нет данных в панели — проверьте:
- Вставлен ли трекинг-код в и корректен ли data-website-id.
- Доступен ли скрипт по HTTPS (нет mixed content).
- Nginx не блокирует доступ к /umami.js (проверьте права и proxy_pass).
Проблема: Certbot не выдаёт сертификат — проверьте DNS, порты 80/443 и логи certbot.
Проблема: контейнеры падают — смотрите логи docker compose logs и корректность env-переменных (особенно APP_SECRET, переменные базы данных).
Миграция с Google Analytics (ориентировочно)
Если вы переходите с GA, подумайте о следующих шагах:
- Определите ключевые метрики и события, которые нужно сохранить.
- Настройте трекинг событий в Umami (Custom events) и сравните данные в течение нескольких недель.
- Обучите команду отличиям в модели данных (Umami агрегирует по-другому, без user-id по умолчанию).
Короткая методология развёртывания (мини‑SOP)
- Подготовьте сервер: обновления, откройте порты 80/443.
- Установите Docker и необходимые плагины.
- Клонируйте Umami и установите APP_SECRET.
- Запустите docker compose и проверьте контейнеры.
- Настройте Nginx и получите TLS через Certbot.
- Смените пароль admin, добавьте сайт и вставьте трекинг-код.
- Тестируйте: посетите сайт и проверьте панель Umami.
- Настройте бэкапы и мониторинг.
Полезные заметки и ограничения
- Umami психологически рассчитан на приватность — не хранит PII и по умолчанию минимизирует данные.
- Для крупных сайтов с высокими объёмами трафика может понадобиться отдельная архитектура БД и горизонтальное масштабирование.
- Следите за лицензией и сообществом проекта — иногда появляются новые конфигурации и плагины.
Резюме
Umami — удобный выбор для сайтов, которым нужна простая и приватная аналитика без зависимости от больших провайдеров. Развёртывание на Ubuntu через Docker и Nginx занимает от нескольких минут до часа, в зависимости от опыта. После установки важно закрыть базовые риски: сменить пароли, защитить административный доступ и настроить HTTPS.
Image credit: Myriam Jessier via Unsplash. Все скриншоты и изменения — Ramces Red.
Похожие материалы
Auto-advance в Gmail: включение и настройка
Освободить место на iPhone и iPad для обновления iOS
Как изменить время в Windows 10
Ускорение индексации Outlook в Windows 11
Windows Performance Monitor в Windows 11 — руководство