Commit Graph

9 Commits

Author SHA1 Message Date
MpakobecEx d7bbacb67c Аналитика переехала в Postgres, ClickHouse больше не нужен
Логи сообщений больше не дублируются отдельным событием: вместо этого в схеме analytics растёт дневной счётчик по каждому игроку. События и счётчики хранятся в Postgres, партиции по дням создаются автоматически и не удаляются, а в админке появилась отдельная вкладка «Сообщения по дням». Сервис ClickHouse, скрипты его бэкапа и зависимость убраны; сбой аналитики по-прежнему не мешает боту.
2026-11-03 02:32:31 +05:00
MpakobecEx e125d4bb0e Приветствие стало последовательностью сообщений с картинками и кнопками
CI / lint-test (push) Successful in 17s Details
CI / build-push (push) Successful in 19s Details
Вместо трёх жёстко зашитых шаблонов теперь есть последовательности: сообщения по порядку, у каждого свой текст, картинка из общего volume media и несколько кнопок. Приветствие миграцией перенесено в последовательность welcome (короткая подпись к фото + остальной текст), а если последовательность недоступна — бот откатывается на старые шаблоны из кода. В админке появился раздел «Последовательности» и редактор текста с тулбаром: жирный, курсив, подчёркивание, зачёркивание, код, цитата, спойлер и ссылка, со счётчиком символов и предпросмотром.
2026-10-25 02:06:59 +05:00
MpakobecEx 3a5d786aa2 ClickHouse больше не пишет гигабайты trace_log на тестовом контуре
CI / lint-test (push) Successful in 16s Details
CI / build-push (push) Successful in 16s Details
Профилировщик ClickHouse на test-контуре генерировал ~1.3 ГБ в сутки (~6.6 ГБ за 5 дней), хотя для событий бота он не нужен. Файл в clickhouse/config.d отключает trace_log и монтируется в оба compose; чтобы вернуть — удалить файл и пересоздать контейнер.
2026-10-25 00:37:09 +05:00
MpakobecEx 107a79d05e Логи стали видны из админки, а не только через SQL
Раздел «Логи» читает analytics.events из ClickHouse: фильтры по типу события, пользователю (ID или username) и датам, по 50 строк на страницу, время в часовом поясе админки. Payload раскрывается как JSON, ID ведёт в карточку игрока. Чтение идёт отдельным ленивым клиентом: если ClickHouse лежит, страница сообщает об этом и не роняет админку. Боту для этого ничего не меняли.
2026-10-19 04:00:30 +05:00
MpakobecEx d695f1991f У админки теперь постоянные порты, которые не спорят с Portainer
Тестовый контур слушает 8100, прод — 8101 на хосте VPS (8000 занят Portainer). Адрес привязки вынесен в ADMIN_BIND_IP: по умолчанию только loopback, а для nginx-proxy-manager ставится 172.17.0.1, чтобы контейнер NPM мог достучаться до админки, но порт не оказался в интернете. Примеры окружений и DEPLOY обновлены.
2026-10-19 03:46:24 +05:00
MpakobecEx b11676764e У админки появился собственный сервис, а не только место в плане
Каркас FastAPI живёт в admin/ и собирается отдельным образом: главная страница со списком будущих разделов и /healthz для healthcheck, пока без БД и логина. Сервис добавлен в оба compose (порт только на loopback до появления домена), CI теперь собирает и публикует два образа — бота и админку. Настройки админки наследуют общие, но не требуют BOT_TOKEN: сервис запускается, даже пока токен не заполнен.
2026-10-19 03:34:10 +05:00
MpakobecEx a0fa223eaa Надёжный healthcheck ClickHouse и пример запроса в DEPLOY
CI / lint-test (push) Successful in 16s Details
CI / build-push (push) Successful in 30s Details
- healthcheck ClickHouse переведён на wget по http://127.0.0.1:8123/ping без зависимости от переменных окружения
- wget подтверждён в образе clickhouse-server (используется его entrypoint)
- пример запроса к событиям в DEPLOY выполняется от пользователя контейнера, а не от хостовой оболочки
- версия 0.3.6
2026-10-16 15:31:21 +05:00
MpakobecEx f85f876a7f Сервис ClickHouse, схема событий и агрегаты
- docker-compose (prod и dev) — контейнер clickhouse 25.3 с volume, ulimits и healthcheck
- порт только на loopback хоста, номер задаётся CLICKHOUSE_HTTP_PORT (test 8124, prod 8123)
- clickhouse/init/001_events.sql — таблица analytics.events с дневными партициями плюс агрегаты events_daily и money_daily
- бот ходит в ClickHouse по имени сервиса и стартует независимо от его готовности
- env-примеры контуров, цель make ch и проверка ClickHouse в check_contour.sh
- версия 0.3.1
2026-10-16 15:21:21 +05:00
MpakobecEx a96793e755 Обёртка в Docker
CI / lint-test (push) Successful in 7s Details
CI / build-push (push) Successful in 8s Details
2026-10-16 01:48:28 +05:00