Развертывание Plausible Analytics
В этом руководстве описано, как развернуть Plausible Analytics в режиме self-hosted на сервере Linux (Ubuntu 24.04 LTS). Plausible — открытое решение веб-аналитики с акцентом на простоту и конфиденциальность: учёт трафика без cookies и персонального отслеживания.
Развёртывание выполняется с Docker и Docker Compose, Nginx в качестве обратного прокси и Let's Encrypt для HTTPS.
Заказать сервер
HostMyServers предлагает несколько подходящих вариантов для размещения Plausible:
Предварительные требования
- SSH root или sudo, Ubuntu 24.04 LTS (или Debian/Fedora)
- Установлены Docker и Docker Compose
- Доменное имя (например,
plausible.ваш-домен.com) с записью A на IP сервера - Открыты порты 80 и 443
Подключение и обновление
Подключитесь по SSH, выполните sudo apt update && sudo apt upgrade -y.
Настройка окружения Plausible
Создайте каталог, клонируйте репозиторий Community Edition:
mkdir -p ~/plausible
cd ~/plausible
git clone https://github.com/plausible/community-edition.git
cd community-edition
Сгенерируйте секретный ключ: openssl rand -base64 64 | tr -d '\n'. Создайте файл .env с переменными: ADMIN_USER_EMAIL, ADMIN_USER_NAME, ADMIN_USER_PWD, BASE_URL (https://plausible.ваш-домен.com), SECRET_KEY_BASE, DATABASE_URL, CLICKHOUSE_DATABASE_URL. Создайте compose.override.yaml с пробросом порта 127.0.0.1:8000:8000.
Запуск контейнеров
cd ~/plausible/community-edition
docker compose up -d
docker compose ps
Nginx и HTTPS
Установите Nginx, создайте виртуальный хост для plausible.ваш-домен.com с proxy_pass http://127.0.0.1:8000, включите сайт, проверьте конфиг. Откройте порты 80 и 443 в UFW. Установите Certbot и получите сертификат: sudo certbot --nginx -d plausible.ваш-домен.com -m admin@example.com --agree-tos --no-eff-email.
Доступ и настройка
Откройте https://plausible.ваш-домен.com/register, создайте учётную запись администратора. Добавьте сайт для отслеживания, установите скрипт в <head> страниц, проверьте установку.
Полезные команды
docker compose ps,docker compose logs -f plausible,docker compose down,docker compose up -d,sudo systemctl reload nginx