Гид по технологиям

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

7 min read Аналитика Обновлено 30 Nov 2025
Установка Umami на Ubuntu — приватная аналитика
Установка Umami на Ubuntu — приватная аналитика

Фотография человека, работающего за ноутбуком.

Содержание

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

Почему выбрать Umami для аналитики сайта

Umami — лёгкое, приватное и простое в развёртывании решение для веб-аналитики. Оно собирает минимально необходимую информацию, не использует cookie для базовой работы и предназначено для тех, кто хочет анализировать трафик без компромиссов по приватности.

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

Скриншот панели Umami с примером аналитики.

Важно: Umami не заменяет бизнес-аналитику и BI-инструменты; это инструмент для отслеживания посетителей, событий и базовой статистики поведения.

Подготовка: установка Docker и Docker Compose на Ubuntu

Перед развёртыванием Umami установите Docker и плагин Docker Compose. Команды ниже приведены с исправленными пробелами и рекомендованы для Ubuntu. Выполняйте от имени пользователя с sudo.

  1. Добавьте ключ подписи 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
  1. Создайте файл репозитория 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
  1. Обновите пакеты и установите 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

  1. Скачайте исходники Umami из официального репозитория и перейдите в каталог:
cd ~ && git clone https://github.com/umami-software/umami.git
cd ~/umami
  1. Откройте предустановленный 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

Терминал, выделяющий случайную строку как секрет приложения Umami.

  1. Сохраните файл и запустите контейнеры:
sudo docker compose up -d
  1. Проверьте, что контейнеры запущены:
docker ps

Терминал, показывающий два запущенных контейнера Umami на сервере Ubuntu.

Хорошо знать: управление контейнерами можно автоматизировать и интегрировать с системами мониторинга, такими как Prometheus/Grafana, если вам нужна SLI-панель.

Защита: SSL reverse proxy через Nginx и Certbot

Umami по умолчанию слушает локально (обычно на порте 3000). Чтобы безопасно открыть интерфейс в интернете — пропустите трафик через Nginx и получите валидный TLS-сертификат от Let’s Encrypt с помощью Certbot.

  1. Добавьте A-запись в DNS вашего домена, указывающую на IPv4 адрес сервера (пример: umami.example.com).

  2. Установите snap core и certbot (если ещё не установлены):

sudo snap install core
sudo snap install certbot --classic
  1. Создайте конфигурацию сайта 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.

  1. Включите сайт и перезагрузите Nginx:
sudo ln -s /etc/nginx/sites-available/umami /etc/nginx/sites-enabled/
nginx -t
sudo systemctl reload nginx.service
  1. Зарегистрируйте Certbot и получите сертификат (укажите ваш e‑mail и домен):
sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN
  1. Проверьте доступность Umami по HTTPS в браузере: https://SUBDOMAIN.YOUR-ROOT.DOMAIN

Скриншот, выделяющий адресную строку для экземпляра Umami.

Important: если ваш сервер находится за NAT/файерволом — откройте порты 80 и 443 для получения сертификата и доступа.

Добавление трекинга Umami на ваш сайт

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

  1. Смена пароля администратора:
  • Нажмите на иконку пользователя в правом верхнем углу.

Скриншот, показывающий расположение иконки профиля на панели Umami.

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

Скриншот, показывающий расположение пункта

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

Скриншот, показывающий расположение кнопки

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

Скриншот, показывающий кнопку

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


Скриншот, показывающий HTML-сниппет для трекинга.

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

Скриншот, показывающий пример аналитики в 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)

  1. Подготовьте сервер: обновления, откройте порты 80/443.
  2. Установите Docker и необходимые плагины.
  3. Клонируйте Umami и установите APP_SECRET.
  4. Запустите docker compose и проверьте контейнеры.
  5. Настройте Nginx и получите TLS через Certbot.
  6. Смените пароль admin, добавьте сайт и вставьте трекинг-код.
  7. Тестируйте: посетите сайт и проверьте панель Umami.
  8. Настройте бэкапы и мониторинг.

Полезные заметки и ограничения

  • Umami психологически рассчитан на приватность — не хранит PII и по умолчанию минимизирует данные.
  • Для крупных сайтов с высокими объёмами трафика может понадобиться отдельная архитектура БД и горизонтальное масштабирование.
  • Следите за лицензией и сообществом проекта — иногда появляются новые конфигурации и плагины.

Резюме

Umami — удобный выбор для сайтов, которым нужна простая и приватная аналитика без зависимости от больших провайдеров. Развёртывание на Ubuntu через Docker и Nginx занимает от нескольких минут до часа, в зависимости от опыта. После установки важно закрыть базовые риски: сменить пароли, защитить административный доступ и настроить HTTPS.

Image credit: Myriam Jessier via Unsplash. Все скриншоты и изменения — Ramces Red.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Auto-advance в Gmail: включение и настройка
Gmail

Auto-advance в Gmail: включение и настройка

Освободить место на iPhone и iPad для обновления iOS
iOS

Освободить место на iPhone и iPad для обновления iOS

Как изменить время в Windows 10
Windows

Как изменить время в Windows 10

Ускорение индексации Outlook в Windows 11
Outlook

Ускорение индексации Outlook в Windows 11

Windows Performance Monitor в Windows 11 — руководство
Windows

Windows Performance Monitor в Windows 11 — руководство

Kubeadm: установка Kubernetes шаг за шагом
Kubernetes

Kubeadm: установка Kubernetes шаг за шагом