Skip to main content

Когда нужен runtime

Большинство фронтенд-проектов — статика: после npm run build получается папка с HTML/JS/CSS, и её достаточно положить за CDN. Это самый быстрый и самый дешёвый режим Layero.

Но некоторые приложения нельзя превратить в SPA — им нужен процесс на сервере:

  • SSR Next.js без output: 'export',
  • Streamlit / Gradio — Python-приложения с веб-интерфейсом,
  • Flask / FastAPI с серверным рендером.

Для них Layero запускает пользовательский контейнер.

Поддерживаемые пресеты

project_typeЧто это
spaСтатика (default).
ssr_nextNext.js c SSR / API-routes.
streamlitStreamlit-приложение.
gradioGradio-приложение.
flaskFlask-приложение.

Пресет выбирается в дашборде проекта (Project → Runtime type). Для каждого пресета используется готовый Dockerfile-шаблон — свой образ собирать не нужно.

Cold start

Контейнер поднимается по первому запросу, обслуживает трафик и гасится при простое. Это значит:

  • Первый запрос после паузы будет медленнее (cold start — секунды, зависит от пресета).
  • В простое проект ничего не стоит по compute.

Для критичных к латенси проектов мы планируем «keep-warm» — постоянно прогретые инстансы. Пока этой настройки нет.

Stateless-инвариант

Файловая система контейнера эфемерна — это важное ограничение, которое легко проглядеть. Прочтите Stateless-инвариант прежде чем мигрировать существующее SSR-приложение, использующее SQLite, файловые сессии или локальный кеш.