Установка и настройка Plausible — руководство по самохостингу и подключению

Быстрые ссылки
Обзор
Установка Plausible
Подключение сайта к Plausible
Исследование данных в Plausible
Настройка почты
Включение геоданных по странам
Краткое резюме
Обзор
Plausible делает ставку на приватность, простоту и понятные метрики. Это решение соответствует требованиям GDPR, CCPA и PECR; по умолчанию Plausible не ставит куки на устройства посетителей, поэтому часто отпадает необходимость в навязчивых баннерах согласия. Интерфейс веб-панели минималистичен: в одном экране можно увидеть число посетителей, просмотров страниц, показатель отказов и среднюю длительность сеанса. Также доступны данные по странам, источникам трафика и типам устройств.
Plausible можно использовать как коммерчески размещённый SaaS или развернуть самостоятельно (self-host). Для самохостинга потребуется Docker и Docker Compose. Образ доступен на Docker Hub под именем
plausible/analyticsОднако для работы требуются дополнительные контейнеры — в первую очередь для баз данных и вспомогательных служб. Рекомендуется использовать официальный репозиторий с примером Docker Compose:
plausible/hostingВ этом руководстве мы рассмотрим шаги для быстрого старта, проверок и базовой безопасности самохостинга.
Установка Plausible
Требования перед началом:
- Git установлен на хосте
- Docker (1.13+ стабильно) и Docker Compose
- Домен или локальная запись в hosts (для тестирования)
Начните с клонирования официального репозитория конфигурации:
git clone https://github.com/plausible/hostingЗатем перейдите в папку:
cd hostingРепозиторий содержит готовые конфигурационные файлы. Файл docker-compose.yml обычно готов к использованию: он связывает контейнеры Plausible и сервисов-зависимостей.
По умолчанию Plausible будет доступен на порту 8000 хоста. Если хотите использовать другой порт (например, 8800), найдите секцию plausible в docker-compose.yml и замените строку - 8000:8000 на - 8800:8000.

Откройте файл plausible-conf.env в редакторе — это конфигурация приложения Plausible. В нём присутствуют настройки по умолчанию, которые задают домен сервера и создают начального администратора.
Замените значения ADMIN_USER_EMAIL, ADMIN_USER_NAME и ADMIN_USER_PWD на ваш адрес электронной почты, имя и пароль. Пароль должен содержать не менее шести символов. Установите BASE_URL на домен, где будет доступен ваш Plausible; для локальных тестов можно использовать http://localhost:8000.
Последняя важная настройка — секретный ключ для защиты системы аутентификации. Сгенерируйте случайную 64-символьную строку и добавьте её в SECRET_KEY_BASE. Вы можете воспользоваться OpenSSL:
openssl rand -base64 64Теперь можно запускать Plausible:
docker-compose up -dDocker загрузит образы и запустит контейнеры. На старте процесс инициализации выполняет миграции и стартовую настройку. Посмотреть ход инициализации можно через логи:
docker logs hosting_plausible_1 --follow
После появления в логах строки “migrations successful” откройте в браузере http://localhost:8000. Должен появиться экран входа в Plausible. Выполните вход под созданным аккаунтом.

По умолчанию приложение предлагает активировать аккаунт через код из электронной почты. В большинстве тестовых развёртываний исходящая почта не настроена, поэтому проще сразу отметить почту как подтверждённую в базе данных. Для этого выполните команду:
docker exec hosting_plausible_db_1 psql -U postgres -d plausible_db -c "UPDATE users SET email_verified = true;"Команда выполняет SQL-запрос и снимает флаг подтверждения для всех пользователей.

Вернитесь в браузер и обновите страницу — вы увидите пустой дашборд Plausible.
Подключение сайта к Plausible
Один Plausible-инстанс может собирать данные с множества независимых сайтов. Каждый сайт нужно зарегистрировать в панели управления Plausible и вставить JavaScript-сниппет отслеживания в HTML сайта. Минифицированный скрипт весит меньше 1 КБ.

Нажмите кнопку “Add a website” или её локализованный эквивалент в панели. Укажите корневой домен, например example.com, без префикса www. Это позволит собирать данные и для example.com, и для www.example.com в рамках одного свойства. Выберите часовой пояс для корректной агрегации отчётов.
После добавления нажмите “Add snippet” — Plausible отобразит -тег для вставки в вашего сайта. Каждая загрузка страницы будет скачивать скрипт и отправлять событие на ваш Plausible-сервер.

Пример минимальной HTML-страницы с подключённым Plausible (сохранён оригинальный пример):
My Website
Example Website
Важно: Plausible не работает с доменами localhost. Для локального тестирования можно добавить временную запись в /etc/hosts:
127.0.0.1 foobar.netЗарегистрируйте foobar.net в Plausible и откройте его в браузере — события начнут поступать на сервер.
Когда подключение завершено, в панели сайта нажмите кнопку “Start collecting data” для перехода на дашборд сайта.
Исследование данных в Plausible
Интерфейс Plausible упрощён для быстрого получения картины по сайту. Вверху показаны ключевые метрики: просмотры страниц, уникальные посетители, показатель отказов и средняя длительность сеанса. Ниже — лидирующие страницы, внешние рефереры и типы устройств. По умолчанию диапазон дат — последние 30 дней; его можно изменить в правом верхнем углу.

Чтобы перейти к настройкам сайта, кликните по названию сайта в левом верхнем углу и выберите “Site settings”. Там можно управлять видимостью дашборда, генерировать публичные шеры и настраивать цели.
Раздел “Visibility” позволяет сделать дашборд общедоступным без входа в Plausible или создать уникальные ссылки для отдельных людей.

Раздел “Goals” реализует простое отслеживание целей: указываете целевые URI, например /checkout-complete, и Plausible будет фиксировать конверсии при посещении этой страницы.

Чтобы создать цель: откройте “Goals”, нажмите “Add goal” и заполните форму с URI для отслеживания. Конверсии появятся в блоке “Goal Conversions” внизу дашборда.
Настройка почтовых уведомлений
Раздел “Email reports” позволяет подписываться на еженедельные отчёты и оповещения о всплесках трафика. Для работы почты необходимо настроить исходящую почту в plausible-conf.env.
Plausible умеет отправлять почту через SMTP или через сервис Postmark.
Для SMTP добавьте в plausible-conf.env следующие переменные:
MAILER_EMAIL— адрес, от которого будут уходить письмаSMTP_HOST_ADDR— адрес SMTP-сервера (например,localhost)SMTP_HOST_PORT— порт SMTPSMTP_USER_NAME— логин для SMTPSMTP_USER_PWD— пароль для SMTP (если требуется)SMTP_HOST_SSL_ENABLED—trueилиfalse— использование SSL
Если вы предпочитаете Postmark, создайте аккаунт и API-ключ, затем добавьте в конфигурацию:
MAILER_ADAPTER=Bamboo.PostmarkAdapterи значение POSTMARK_API_KEY с вашим ключом.
После изменения конфигурации выполните:
docker-compose up -dчтобы применить настройки и перезапустить контейнеры.
Включение данных по странам (GeoIP)
В дашборде Plausible есть виджет-карта с информацией по странам, но геолокация не включена по умолчанию — она требует внешней базы GeoLite2.
Чтобы включить геолокацию, потребуется аккаунт GeoLite2. После регистрации вы получите идентификатор аккаунта и лицензионный ключ. Вставьте эти значения в файл geoip/geoip.conf в переменные GEOIPUPDATE_ACCOUNT_ID и GEOIPUPDATE_LICENSE_KEY.
Затем запустите стек с дополнительным файлом Compose:
docker-compose -f docker-compose.yml -f geoip/docker-compose.geoip.yml upDocker загрузит контейнер с базой GeoLite, и Plausible начнёт использовать геоданные для новых событий.
Обновление Plausible
Для обновления до новых версий выполните в каталоге hosting:
git pull
docker-compose up -d --pullЭто подтянет изменения конфигурации и образы из Docker Hub, а затем перезапустит контейнеры.
Критерии приёмки
Перед тем как считать установку и настройку завершённой, проверьте следующие пункты:
- Веб-интерфейс Plausible доступен по указанному BASE_URL
- Пользователь-администратор может войти без ошибок
- События с зарегистрированного сайта приходят в дашборд (см. реальное число просмотров)
- Email-уведомления успешно отправляются (если настроено)
- GeoIP-карта отображает страны после включения GeoLite (новые события)
- Бэкапы базы данных настроены и регулярно проверяются
Мини-методология тестирования и проверки работоспособности
Короткая инструкция, как проверить установку пошагово:
- Откройте базовый дашборд Plausible — убедитесь, что сервер отвечает.
- Зарегистрируйте тестовый сайт (например,
foobar.net) и вставьте приведённый скрипт в секцию. - Откройте сайт в браузере в режиме инкогнито и подождите 1–2 минуты.
- Проверьте наличие новых событий в разделе “Реальное время” или в главном дашборде.
- Если события не видны, проверьте логи контейнера Plausible и сетевую доступность
http://localhost:8000/js/plausible.js. - При настройке почты отправьте тестовое письмо через UI и проверьте поступление.
- После включения GeoIP проверьте, появились ли страны в карте; если нет — проверьте логи контейнера GeoIP.
Чек-листы по ролям
Администратор системы:
- Проверить доступность сервера и статус контейнеров
- Обновлять образы и конфигурации по расписанию
- Проводить регулярные бэкапы баз данных
- Контролировать доступы и ротацию паролей/секретов
DevOps / Инженер по развертыванию:
- Настроить Docker, Docker Compose и мониторинг контейнеров
- Настроить TLS (см. ниже)
- Автоматизировать обновления и бэкапы
- Настроить алерты на неудачные деплойменты
Владелец продукта / аналитик:
- Добавлять сайты и цели в Plausible
- Определять ключевые метрики и периоды отчёта
- Настроить публичные отчёты или шары для заинтересованных лиц
SOP — стандартная операционная процедура быстрой установки
- Подготовить VM или сервер с Docker и Docker Compose.
- Клонировать
https://github.com/plausible/hosting. - Отредактировать
plausible-conf.env: задать ADMINUSER*, BASE_URL, SECRET_KEY_BASE. - (Опционально) Настроить SMTP или Postmark в
plausible-conf.env. - Запустить
docker-compose up -d. - Следить за логами и дождаться “migrations successful”.
- Войти в Plausible, создать сайт и вставить скрипт на сайт.
- Настроить GeoIP (при необходимости) и перезапустить стек с geoip-конфигом.
- Настроить HTTPS и настройку бэкапов.
Решение: самохостинг или SaaS — блок-схема
flowchart TD
A[Нужна ли вам полная приватность и контроль?] -->|Да| B[Самохостинг]
A -->|Нет, хочется простоты и поддержки| C[SaaS Plausible]
B --> D{Есть ли ресурсы для поддержки?}
D -->|Да| E[Идём самохостить: следовать SOP]
D -->|Нет| C
C --> F[Зарегистрироваться в Plausible.com и подключить сайт]
E --> G[Добавить мониторинг, бэкапы и TLS]Используйте эту простую модель: если вам важен полный контроль над данными и вы готовы обслуживать серверы, выбирайте самохостинг. Если критична простота и поддержка, выбирайте облачную версию.
Безопасность и жёсткая настройка
Рекомендации для базовой безопасности инстанса:
- Всегда включайте TLS для доступа к панели (на уровне обратного прокси — Nginx, Traefik или облачного LB). Не оставляйте Plausible доступным только по HTTP в продакшене.
- Храните
SECRET_KEY_BASEв защищённом хранилище секретов, а не в открытом репозитории. - Отключите неиспользуемые сервисы и ограничьте доступ к базе данных через firewall/security group.
- Настройте регулярные бэкапы PostgreSQL и тестируйте восстановление.
- Обновляйте образы и зависимости оперативно; используйте автоматизированный процесс обновления и отката.
- Примените принцип наименьших привилегий для учётных записей и API-ключей.
Резервное копирование и восстановление
Простой план бэкапа PostgreSQL:
- Периодические дампы базы (
pg_dump) на внешний хост или в облачное хранилище. - Инкрементальные снапшоты томов Docker (если используются Docker volumes).
- План восстановления должен включать проверку целостности дампа: запускайте восстановление в тестовой среде раз в месяц.
Тестовые случаи и критерии приёмки
- Тест 1: Доступ к PANEL — результат: HTTP 200 на BASE_URL. Приёмка: страница логина отображается.
- Тест 2: Отслеживание страницы — результат: посещение тестовой страницы приводит к появлению события в дашборде в течение 2–5 минут.
- Тест 3: Отправка почты — результат: тестовое письмо доставлено. Приёмка: входящее письмо подтверждает работу SMTP/Postmark.
- Тест 4: GeoIP — результат: места происхождения посетителей отображаются на карте после включения GeoIP.
Миграция и совместимость
При обновлениях следите за заметками к релизу Plausible: иногда появляются изменения в структуре базы данных или требуются дополнительные зависимости. Всегда делайте бэкап перед git pull и деплоем новых образов.
Краткая инструкция по TLS (обзор)
- Рекомендуется ставить Plausible за обратным прокси (Nginx/Traefik) и обрабатывать TLS на прокси.
- Используйте Let’s Encrypt для автоматической выдачи сертификатов.
- Если вы используете облачный LB, завершите TLS на LB и проксируйте трафик HTTP внутрь сети.
Глоссарий (одна строка)
- Plausible — лёгкая приватная система веб-аналитики.
- Docker Compose — инструмент для определения и запуска многоконтейнерных Docker-приложений.
- GeoLite2 — база геолокации по IP (MaxMind).
- Postmark — сервис для отправки транзакционных писем.
Частые проблемы и решения
- Нет событий в дашборде: проверьте доступность
http://из браузера, убедитесь, что домен в/js/plausible.js data-domainсовпадает с зарегистрированным сайтом. - Почта не отправляется: проверьте параметры SMTP и логи контейнера; попытайтесь отправить почту вручную из контейнера.
- GeoIP не работает: убедитесь, что контейнер geoip запущен и в
geoip/geoip.confкорректно заполнены аккаунт и ключ.
Краткое резюме
Plausible — удобный выбор для команд, которым важна приватность и простота аналитики. Его легко развернуть с помощью Docker Compose, а минималистичный интерфейс позволяет быстро получать полезные метрики без лишнего шума. Самохостинг даёт контроль над данными, но требует от вас регулярного обслуживания, настроек безопасности и бэкапов.
Если нужно, я могу подготовить компактный сценарий развёртывания с готовыми командами для Nginx + Let’s Encrypt, примеры cron-скриптов для бэкапа PostgreSQL или шаблон playbook для Ansible.
Похожие материалы
Как исправить ошибку Hulu P-DEV313
Отключить уведомления соцсетей в Chrome
Скачать Opera для Windows 7 — инструкция
Как выявить и закрыть процесс с высоким CPU на Mac
Gemoo Recorder: запись и монтаж экранных видео