← ко всем постам
TeachTrack · 2 мин ru

Сделал всё юридически правильно. Именно из-за этого Telegram-бот TeachTrack сегодня отказался…

День 8/30

Сделал всё юридически правильно. Именно из-за этого Telegram-бот TeachTrack сегодня отказался отвечать ученикам.

День 8/30.

💻 Утром докатил весь стек — бэк, фронт, аналитику — на VPS с нормальным доменом. Уже собирался отдавать преподавателю на боевой тест: расписание живёт, напоминания за 30 минут до занятия уходят, всё как надо.

И тут споткнулся о то, что РФ-хостинг (timeweb) режет исходящие запросы к api.telegram.org. Вход работает — сообщение от ученика к нашему боту приходит нормально, это Telegram сам к нам стучит (webhook принимает). А ответ в обратную сторону — ETIMEDOUT. Глухо.

Любое заготовленное решение, которое мне знакомо — local bot api server, polling, webhook — не спасает: все они в итоге делают исходящий к серверу TG.

Печально тут вдвойне. Во-первых, потратил на дебаг весь день. Во-вторых — я ведь сделал юридически правильно: ПДн в РФ, сервер в РФ, всё по закону. И именно из-за этой правильности Telegram мне и недоступен.

👍 Решение родилось к вечеру: поднимаю вне РФ отдельный микросервис — tg-relay. Stateless-прокси где-нибудь в Германии на DigitalOcean, шлёт исходящие в TG со своего IP. Бэк сам остаётся в РФ, персональные данные — в РФ, а Telegram и так не в РФ, так что юридически ничего не ломается.

Завтра допиливаю relay и отправляю преподавателю на боевое тестирование. Проект практически готов — к концу недели должен открыться beta-доступ 🔧

А еще, параллельно за сегодня докатил полноценную наблюдаемость: • Prometheus • Grafana • Loki • Promtail — метрики и логи в одном месте.

И сразу открыл для вас публичный дашборд — stats.teachtrack.ru. Живые цифры по проекту на виду: можете заглядывать и смотреть, как он растёт.

(если я где-то дырку оставил и вы можете посмотреть логи серверов - скажите, поправим)

А ну и сам лендинг тоже чуть обновил - teachtrack.ru

— #PoW TeachTrack — день 8/30