diff --git a/README.md b/README.md index 05f5f12..b2f95ce 100644 --- a/README.md +++ b/README.md @@ -116,13 +116,44 @@ OnUnitActiveSec=10min WantedBy=timers.target ``` -Активация: +Готовые файлы находятся в `deploy/`: + ```bash -systemctl daemon-reload -systemctl enable --now baton-keepalive.timer +# 1. Скопировать файлы +sudo cp deploy/baton-keepalive.service /etc/systemd/system/ +sudo cp deploy/baton-keepalive.timer /etc/systemd/system/ + +# 2. Заменить URL на реальный +sudo sed -i 's|https://your-app.example.com|https://YOUR_APP_URL|g' \ + /etc/systemd/system/baton-keepalive.service + +# 3. Включить и запустить +sudo systemctl daemon-reload +sudo systemctl enable --now baton-keepalive.timer + +# 4. Проверить systemctl list-timers baton-keepalive.timer ``` +### Keep-alive через UptimeRobot (внешний сервис, рекомендуется) + +[UptimeRobot](https://uptimerobot.com) — бесплатный сервис мониторинга, который пингует ваш `/health` снаружи каждые 5 минут. В отличие от self-ping, он работает даже если платформа убила процесс. + +**Настройка (бесплатно, без регистрации кредитной карты):** + +1. Зарегистрируйтесь на [uptimerobot.com](https://uptimerobot.com) +2. **Add New Monitor** → тип **HTTP(s)** +3. Заполните: + - **Friendly Name:** `Baton Health` + - **URL:** `https://your-app.example.com/health` + - **Monitoring Interval:** `5 minutes` +4. Сохраните. UptimeRobot начнёт пинговать каждые 5 минут и пришлёт email при падении. + +**Плюсы:** работает независимо от хостинга, бесплатно до 50 мониторов, email/Telegram-уведомления. +**Минусы:** требует публичный URL (для локальной разработки не подходит). + +> **Рекомендация:** для прода используйте UptimeRobot как внешний watchdog + self-ping (APP_URL) как запасной вариант. + ## Nginx deployment Для проксирования через nginx используйте готовый шаблон `nginx/baton.conf`.