В этой статье мы разберем пошаговый процесс установки Umami — простой, быстрой и конфиденциальной альтернативы Google Analytics и Яндекс Метрики. Мы будем использовать FastPanel для управления доменом и Dockerless установку (напрямую через Node.js) для максимальной производительности.
Для начала ответим на вопрос — зачем это надо?
Google Analytics проблематично использовать в России из-за ФЗ-152, штрафы там настолько большие, что микро-бизнес гарантированно загнется от одного такого.
Яндекс-метрика — вы точно хотите кормить Яндекс вашими данными и данными ваших users? Монополисты в России и так уже знают больше про вас, чем ваша жена/муж/любовник(-ца).
Umami — отличная система сбора web-аналитики, которая заменяет ЯД и AG на 80% (как в Паретто), устанавливается очень просто и часто, не блокируется Adblock потому-что соотвествуют GDRP. Именно эта система установлена на fuckbigbro.
Оглавление
Предварительные требования
- Сервер (VPS/VDS) с операционной системой Ubuntu (в примере используется Ubuntu 24).
- Установленная панель управления FastPanel.
- Доступ к терминалу (SSH).
Шаг 1: Настройка домена в FastPanel (Reverse Proxy)
Перед тем как работать с консолью, подготовим окружение в панели управления.
- Зайдите в FastPanel.
- Создайте новый сайт (домен), на котором будет располагаться аналитика (например,
stats.yourdomain.com). - В настройках сайта перейдите в раздел «Настройки» (Settings) -> «HTTPS» и обязательно выпустите бесплатный SSL сертификат Let’s Encrypt.
- Перейдите в раздел «Ручная настройка» конфигурационных файлов или найдите меню «Проксирование». Вам нужно настроить Обратный прокси (Reverse Proxy).
- В качестве адреса бэкенда укажите:
http://localhost:3001
Это скажет веб-серверу (Nginx), что все запросы с этого домена нужно перенаправлять на порт 3001, где будет работать наше приложение.
Шаг 2: Подготовка серверного окружения (Node.js и PNPM)
Umami — это современное приложение на JavaScript, поэтому нам потребуется свежая версия Node.js. Мы используем менеджер версий nvm, чтобы избежать конфликтов.
Подключитесь к серверу по SSH и выполните следующие команды:
1. Установка NVM (Node Version Manager):
# Скачиваем и запускаем установщик
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# Активируем nvm без перезагрузки терминала
\. "$HOME/.nvm/nvm.sh"
2. Установка Node.js:
В данном примере мы используем новейшую версию.
# Установка 25-й версии Node.js
nvm install 25
# Проверка корректности установки (должно вывести v25.x.x)
node -v
3. Установка пакетного менеджера PNPM:
Umami рекомендует использовать pnpm для быстрой установки зависимостей.
# Активируем встроенный Corepack
npm install -g corepack
# Включаем pnpm
corepack enable pnpm
# Проверяем версию
pnpm -v
Шаг 3: Настройка базы данных PostgreSQL
Umami хранит все данные в базе. Нам нужно создать пользователя и саму БД.
1. Входим в PostgreSQL:
sudo -u postgres psql
2. Создаем пользователя и базу данных:
Выполните следующие SQL-команды (не забудьте заменить 'your_password' на надежный пароль):
-- Создаем пользователя
CREATE USER myuytegeda WITH PASSWORD 'your_password';
-- Создаем базу данных и назначаем владельца
CREATE DATABASE myuytegeda_db OWNER myuytegeda;
-- Выдаем все права на базу пользователю (для надежности)
GRANT ALL PRIVILEGES ON DATABASE myuytegeda_db TO myuytegeda;
-- Выход из консоли PostgreSQL
\q
Проверка: Вы можете проверить подключение командой:
psql -U myuytegeda -d myuytegeda_db -h localhost
Шаг 4: Установка и сборка Umami
Теперь перейдем непосредственно к коду аналитики.
1. Скачивание исходного кода:
Перейдите в корневую директорию вашего сайта (ту, которую создала FastPanel, обычно это /var/www/имя_пользователя/data/www/ваш_домен).
Если папка пуста, клонируйте репозиторий:
git clone https://github.com/umami-software/umami.git .
Примечание: Точка в конце команды клонирует файлы прямо в текущую папку. Если файлы скачались в подпапку
umami, переместите их в корень командойmv umami/* .иmv umami/.* ..
2. Настройка окружения (.env):
В корне сайта создайте файл .env. В нем мы укажем настройки подключения к базе и порт.
nano .env
Вставьте туда следующее содержимое:
DATABASE_URL=postgresql://myuytegeda:your_password@localhost:5432/myuytegeda_db
PORT=3001
(Замените your_password на пароль, который вы задали в Шаге 3).
3. Установка зависимостей и сборка:
# Устанавливаем библиотеки
pnpm install
# Собираем проект (включает миграции базы данных)
pnpm build
Шаг 5: Запуск и настройка автозагрузки (PM2)
Чтобы приложение работало постоянно и перезапускалось при перезагрузке сервера, используем менеджер процессов PM2.
1. Установка PM2:
npm install pm2 -g
2. Запуск Umami через PM2:
Мы явно указываем порт перед запуском, чтобы убедиться, что приложение «подхватит» его, и даем имя процессу.
export PORT=3001
pm2 start pnpm --name umami -- start
3. Сохранение списка процессов для автозагрузки:
pm2 startup
# Скопируйте и выполните команду, которую выведет терминал
pm2 save
Теперь, даже если сервер перезагрузится, ваша аналитика поднимется автоматически.
Шаг 6: Финальные штрихи
- Откройте ваш домен в браузере (по https). Вы должны увидеть экран входа Umami.
- Стандартные данные для входа:
- Логин:
admin - Пароль:
umami
- Логин:
- Важно: Сразу после входа перейдите в настройки, создайте нового администратора со своим логином и сложным паролем, залогиньтесь под ним и удалите дефолтного пользователя
admin. Это критически важно для безопасности!
Статья и картинка созданы с VEGA