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