Мониторинг SaaS на Railway — публичный health URL

Railway поднимает API или web-сервис с публичным URL (*.up.railway.app) или своим доменом. Внешнему мониторингу нужны этот HTTPS-адрес и GET /health (или /api/health) с 200 без авторизации — тот же контракт, что в остальных гайдах по PaaS в этой серии.

StillOnline проверяет с интернета, даёт страницу статуса и шлёт алерты при сбое. Общая схема: быстрый старт health URL. Next.js на Vercel: гайд Vercel.

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

На Railway поднимите GET /health с Public Networking, проверьте curl на https://….up.railway.app/health (или свой домен) и добавьте этот HTTPS URL в StillOnline. Внешние проверки и страницу статуса — StillOnline не крутится внутри Railway. Free — один URL; мониторьте web, не фоновый worker.

1. Health в сервисе

Добавьте маршрут, который фреймворк отдаёт на /health (или за /api, если так у вас в деплое). Быстрый, без auth — чтобы GET-проверки StillOnline проходили.

Express:

app.get("/health", (_req, res) => {
  res.status(200).json({ status: "ok", service: "my-saas" });
});

FastAPI:

@app.get("/health")
def health():
    return {"status": "ok"}

Слушайте process.env.PORT от Railway. Опционально SELECT 1 к Postgres — 503 при недоступной БД (как в статье про Vercel).

2. Публичный URL Railway

StillOnline не достучится до private networking. Включите Public Networking на сервисе, куда ходят пользователи, и скопируйте HTTPS.

Сервис → SettingsNetworkingPublic Networking. Например https://my-saas-production.up.railway.app.

curl -sS -w "\n%{http_code}\n" https://my-saas-production.up.railway.app/health

Нужны JSON и 200. 502 — процесс не слушает PORT. 404 — неверный путь (префикс /api и т.д.).

3. Свой домен

Дефолтный *.up.railway.app может меняться при пересоздании сервиса. api.yourproduct.com → CNAME на Railway; после TLS мониторьте кастомный хост.

4. StillOnline

Вставьте в StillOnline тот же URL, что проверили curl. StillOnline — внешний SaaS, не контейнер в Railway.

  1. Начать бесплатно.
  2. Проект + slug страницы статуса.
  3. HTTP-проверкаhttps://api.yourproduct.com/health, GET, 200, 5 мин.
  4. Ссылку на страницу статуса — в документации и при подключении клиентов.
  5. Pro+: stillonline-mcp (MCP).
ТарифЧто входит
Free1 URL, публичная страница статуса, история 24 ч
Pro ($9)10 URL, приватные страницы, API/MCP, 90 д

Тарифы.

Алерты владельца: при сбое и восстановлении включите email, Telegram или Slack в настройках — на Free один канал, на Pro / Ultimate все три. Гайды: Алерты в Telegram · Алерты в Slack.

5. Заметки по Railway

Sleep, краткий сбой при деплое и путаница web/worker — частые ошибки при выборе URL для внешней проверки.

  • Sleep / scale to zero — внешний мониторинг видит простой; для API держите реплику или отключите sleep.
  • Деплой — краткий 502 нормален.
  • Worker vs web — мониторьте web, не очередь без HTTP.
  • Несколько сервисов — на Free один URL; gateway health или Pro.

Сравнения: обзор 2026 · vs Uptime Kuma.

FAQ

Может ли StillOnline мониторить Railway только с private networking?

Нет. Проверки StillOnline идут из интернета. Включите Public Networking (или tunnel на health) перед проверкой. То же правило, что для OpenClaw.

Что указать в StillOnline — *.up.railway.app или свой домен?

Лучше свой домен в проверке и в документации — дефолтный hostname Railway может меняться. Ссылка на страницу статуса остаётся на StillOnline (stillonline.tech/.../s/...).

StillOnline: POST или авторизация для health на Railway?

На Free — GET без кастомных заголовков. Сделайте публичный GET /health (или /api/health).

В Railway API и worker — что мониторить в StillOnline?

HTTP web, куда ходят пользователи. Воркеры — логи/метрики отдельно.

Чем мониторинг StillOnline на Railway отличается от Vercel?

Нужен один и тот же публичный HTTPS health URL. Railway — контейнер; Vercel — serverless — гайд Vercel. StillOnline только HTTP GET по вашему URL.