Дневник
бот · эмулятор Telegram
Ваш дневник пока пуст
Напишите боту в чат — запись сразу появится здесь. Дневник личный: его видит только этот браузер, а в Telegram — только вы.
Подключите настоящего бота за 4 шага
Сейчас бот работает только во встроенном эмуляторе. Токена нет — и ничего не сломалось: приложение само это заметило.
-
Создайте бота. Напишите в Telegram
@BotFatherкоманду/newbot, придумайте имя — он пришлёт токен вида123456:ABC…. -
Положите токен в CI-переменную
TELEGRAM_BOT_TOKEN. GitLab: Settings → CI/CD → Variables, включите Masked. GitHub: Settings → Secrets and variables → Actions, и добавьте в.github/workflows/deploy.ymlк шагуapp-release:- run: app-release env: TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} -
Впишите имя в service.yaml:
secrets: [TELEGRAM_BOT_TOKEN]. Значение в Git не попадает — только имя. -
Сделайте git push и откройте этот сайт по https-адресу один раз: приложение само зарегистрирует вебхук
/telegram/webhookс секретом, выведенным из токена. Адрес можно задать и явно — секретомPUBLIC_URL.
Что сервер сделал сам
Ничего из этого вы не настраивали — всё появилось при первом git push.
Postgres
Сервер создал базу и пользователя при первом пуше; таблицы приложение создало само при старте, под pg_advisory_lock, чтобы две версии при выкладке не мешали друг другу.
backup_probe · 1 строка
chats · 0 строк
notes · 0 строк
schema_migrations · 1 строка
Схема версии 1, создана сегодня, 19:10 · Postgres 18.6
Redis
Сервер выдал пользователя Redis, которому доступны только ключи и каналы с префиксом dnevnik-fastapi-0756a97f: — чужие данные он не увидит.
keys 1
✓ чужой ключ → NOPERM
SCAN и KEYS запрещены, поэтому приложение само ведёт список своих ключей в dnevnik-fastapi-0756a97f:keys.
S3-хранилище
Сервер создал бакет и ключ доступа только к нему; фото отдаёт приложение, само хранилище наружу не открыто.
Переменные окружения
Пароли и ключи сервер сгенерировал сам и передал приложению через окружение — в Git их нет. Здесь только имена.
PORTDATABASE_URLREDIS_URLS3_ENDPOINTS3_REGIONS3_BUCKETS3_ACCESS_KEY_IDS3_SECRET_ACCESS_KEY
TELEGRAM_BOT_TOKEN — нетPUBLIC_URL — нет
Экземпляр 466a254d5cb7
Каждый выпуск стартует рядом со старым, и посетители переключаются, только когда новый ответил на /healthz; обновите страницу после пуша — имя экземпляра сменится, а данные останутся.
Работает 48 мин