Keitaro Tracker — это мощная система для трекинга и аналитики рекламного трафика. Хотя Zomro опубликовала пример docker-compose.yml
, запуск контейнера keitaro/keitaro
напрямую невозможен без авторизации, поскольку образ приватный. В этой статье рассмотрим реальные способы запуска Keitaro с Docker Compose, включая дополнительные пути и важные замечания.
1. Почему образ keitaro/keitaro недоступен?
Контейнер keitaro/keitaro
— это непубличный образ. Для его получения нужно использовать официальный установщик Keitaro (kctl.sh
), который:
проверяет лицензию,
получает временные токены доступа,
скачивает нужный образ (иногда в виде
.tar.gz
),либо авторизует вас в приватном реестре.
Поэтому ручной pull образа через docker pull keitaro/keitaro
не сработает.
2. Установка через kctl.sh (официальный путь)
# Создать рабочую директорию (опционально)
mkdir -p /opt/keitaro && cd /opt/keitaro
# Убедитесь, что установлен jq
sudo apt update && sudo apt install -y jq
# Создать нужные директории
sudo mkdir -p /var/log/keitaro
sudo chown $(whoami):$(whoami) /var/log/keitaro
# Запуск скрипта
curl -fsSL https://files.keitaro.io/scripts/releases/stable/kctl.sh | bash -s -- install
После этого установка будет управляться через kctl
, а docker-compose.yml
и .env
будут созданы автоматически.
3. Где взять docker-compose.yml и образы после установки?
После успешного запуска kctl.sh
, в директории /opt/keitaro
появятся:
docker-compose.yml
— с актуальными приватными тегами.env
— c вашей лицензией и настройками окруженияисходники Keitaro (в volume
./keitaro
)
Теперь вы можете править конфигурации вручную:
Добавлять прокси, балансировку, расширенные тома и мониторинг
Подключать внешние volumes
Обновлять теги в
.env
4. Альтернатива: Запрос образа вручную
Если вы хотите полностью контролировать процесс без kctl
, можно обратиться в поддержку Keitaro и запросить .tar.gz
образ или токен доступа к их Docker Registry.
После получения:
docker load < keitaro-11.3.2.tar.gz
Теперь keitaro/keitaro
будет доступен локально, и docker-compose
сможет его использовать.
5. Бэкапы, мониторинг и безопасность (Best practices)
Резервное копирование:
Слой | Метод | Частота |
---|---|---|
MySQL | mysqldump --single-transaction в tmpfs , затем gzip и выгрузка в S3 | 1 ч |
ClickHouse | clickhouse-backup create и загрузка в S3 | 4 ч |
Статика | rsync --link-dest с ротацией hard-link'ов | 1 д |
Храните минимум 3 последних снапшота, проверяйте восстановление на staging-узле раз в квартал.
Мониторинг и логирование:
Prometheus + Grafana — latency редиректов, QPS MySQL/ClickHouse, нагрузка Redis
Vector — сбор логов контейнеров в формате JSON, запись в ClickHouse для анализа
Alertmanager — алерты при
5xx > 1%
,p50 redirect > 150ms
,disk-free < 20%
Безопасность:
Закрываем порты 3306, 9000, 8123 наружу; доступны только 80/443
В Nginx активируем CSP, X-Frame-Options, HSTS (max-age ≥ 31536000)
Проверка уязвимостей:
docker scout cves
илиtrivy
— минимум раз в неделюИзоляция контейнеров:
read_only: true
,cap_drop
Модульная структура:
Для больших проектов разбивайте конфигурацию на файлы db.yml
, web.yml
, metrics.yml
и используйте include
в Compose v2.23+.
6. Вывод
Публично использовать docker-compose.yml
без подготовки невозможно. Образ Keitaro требует авторизации, которую предоставляет только официальный установщик kctl
. Но после первоначальной установки вы получаете полноценный Docker-стек, который можно кастомизировать, масштабировать и переносить.
Следуя описанным best practices, вы получите отказоустойчивую, управляемую и безопасную платформу для аналитики рекламного трафика, готовую к масштабированию до десятков миллионов кликов в сутки.