← Блог

Uptime-мониторинг Docker Compose на VPS

Docker Compose на малом VPS (Hetzner, DigitalOcean Droplet, Linode) — типичный домашний сервер и ранний production: nginx или Traefik спереди, контейнеры приложения сзади, Postgres во внутренней сети. Мониторьте одну публичную точку входа — не каждый внутренний порт с интернета.

StillOnline выполняет HTTP GET снаружи VPS, размещает страницу статуса и шлёт алерты через бота StillOnline, Slack или email. Мониторинг-контейнер на том же хосте не обязателен — внешняя правда ловит DNS, TLS и ошибки reverse proxy, которые UI Compose/Coolify пропускает.

Краткий ответ

Docker Compose на VPS: GET /health на публичном HTTPS-домене, где nginx или Traefik терминирует TLS — 200, не http://app:3000. Зарегистрируйте URL в StillOnline; на Free проверка каждые пять минут, один URL (тарифы). Внутренние Postgres и Redis — без внешних проверок. См. Hetzner + Coolify и open-source vs hosted.

Одна точка входа, не каждый контейнер

СервисВнешняя проверка StillOnline?
nginx / Traefik → appДа — /health на публичном домене
Postgres во internal сетиНет — опциональный ping внутри /health app
Redis, worker, очередьНет публичной проверки — heartbeat позже
Случайно открытый admin-портНе регистрируйте — закройте firewall

StillOnline бьёт в тот же URL, что клиентыбыстрый старт health.

Типичные ловушки Compose

ПроблемаРешение
curl localhost внутри контейнераТест снаружи VPS
Мониторите только PortainerUI жив, домен app — нет
Истёк сертификат nginxВнешняя проверка падает
docker compose restartКраткий красный — техобслуживание
curl -sS -o /dev/null -w "%{http_code}\n" https://api.yourproduct.com/health

StillOnline

  1. Вход.
  2. Новый проект.
  3. Публичный /health, GET, 200, 5 мин (Free).
  4. Страница статуса при платящих клиентах — гайд.

Настройкибот StillOnlineTelegram.

Free: один URL. Pro: отдельный публичный webhook host — тарифы.

Домашний сервер vs indie SaaS

На домашнем сервере часто крутят Uptime Kuma на той же машине — он умирает вместе с VPS. Внешний StillOnline переживает падение хоста, который вы не можете self-ping — Kuma vs hosted. С B2B-клиентами размещённая страница статуса лучше, чем инциденты только по SSH.

Связанные материалы

FAQ

StillOnline пингует каждый сервис в Docker Compose?

Нет. Один публичный health URL через reverse proxy. Внутренние сервисы — внутри handler при необходимости — дизайн health.

Мониторить http://127.0.0.1:8080/health?

Только если порт публично доступен из интернета — обычно плохая идея. Предпочтите HTTPS на домене.

StillOnline ставит агент на VPS?

Нет. Только внешние HTTP-проверки — контейнер в Compose не нужен.

Когда домашний сервер переходит на StillOnline вместо self-hosted Kuma?

Когда нужна страница статуса для клиентов и алерты, работающие при недоступности VPS — без Kuma · open-source vs hosted.