Uptime-мониторинг VPS на Hetzner с Coolify
Hetzner и Coolify — популярный indie-стек: недорогой VPS, деплой из Git, Traefik или Caddy спереди, Docker без своего PaaS. UI Coolify показывает состояние контейнеров на вашем сервере; он не заменяет внешнюю проверку того же HTTPS-URL, что клиенты вызывают curl, и не предупредит, когда упал весь VPS или upstream-сеть.
StillOnline проверяет снаружи сети Hetzner, размещает страницу статуса и шлёт алерты владельцу через бота StillOnline, Slack или email.
Краткий ответ
Стек на Hetzner Cloud и Coolify всё равно требует публичный GET /health на production-домене, где Traefik или Caddy терминирует TLS — 200 быстрее двух секунд. Зарегистрируйте URL в StillOnline, не внутреннее Docker-имя; на Free проверка каждые пять минут, один URL (тарифы). Краткий красный при рестарте контейнера — норма; см. техобслуживание.
Зачем внешняя проверка за Coolify
Coolify знает о рестарте контейнера на VPS. Клиенты видят только публичный HTTPS. DNS, сертификат или ошибка маршрута в reverse proxy могут оставить Coolify «зелёным», пока интернет получает 502.
| Coolify показывает | StillOnline добавляет |
|---|---|
| Контейнер на VPS | HTTPS с точки зрения клиента |
| Логи деплоя | Ссылку на страницу статуса |
| — | Telegram/Slack до завала почты |
Сравнение self-hosted и размещённой страницы: open-source vs hosted.
Шаг 1 — Health за reverse proxy
Добавьте /health в образ приложения. Документация прокси Coolify маршрутизирует тот же домен, что production — не localhost.
curl -sS -o /dev/null -w "%{http_code}\n" https://api.yourproduct.com/health
Проверяйте с машины вне VPS. curl по SSH на localhost ≠ то, что видит StillOnline.
Типичные ложные срабатывания:
| Проблема | Решение |
|---|---|
| Рестарт при деплое | Краткий красный — норма |
| Health бьёт в БД на каждую внешнюю проверку | Лёгкий liveness на /health |
| Неверный label Traefik | Внешняя проверка падает при «зелёном» UI — чините маршрут |
| Мониторите только панель Coolify | Панель жива, домен продукта — нет |
Шаг 2 — StillOnline
- Вход.
- Новый проект.
- Публичный HTTPS
/health, GET, 200, 5 мин (Free). - Страница статуса в docs — гайд.
Агент на Hetzner не нужен — только HTTP GET снаружи.
Шаг 3 — Алерты
Настройки → Подключить Telegram → бот StillOnline — гайд.
Free: один канал. Pro / Ultimate: все три — тарифы.
Связанные материалы
FAQ
StillOnline ставится на Hetzner VPS или Coolify?
Нет. Только внешние HTTP-проверки. Pipeline Coolify не меняется — регистрируйте URL после успешного curl из интернета.
Почему StillOnline краснеет при redeploy в Coolify?
Контейнер кратко недоступен снаружи. Ожидаемо без zero-downtime. Техобслуживание или дизайн health.
Мониторить URL админки Coolify?
Мониторьте домен продукта для клиентов, не только панель.
Заменить Uptime Kuma на том же VPS на StillOnline?
Часто страницу статуса для клиентов переносят на StillOnline, Coolify остаётся на Hetzner — Kuma vs hosted · без Kuma.