Когда нужен 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_next | Next.js c SSR / API-routes. |
streamlit | Streamlit-приложение. |
gradio | Gradio-приложение. |
flask | Flask-приложение. |
Пресет выбирается в дашборде проекта (Project → Runtime type). Для каждого пресета используется готовый Dockerfile-шаблон — свой образ собирать не нужно.
Cold start
Контейнер поднимается по первому запросу, обслуживает трафик и засыпает при простое. Это значит:
- Разбуженное из «тёплого» состояния приложение отвечает за ~0.2–0.3 с, полностью холодный старт — ~2–4 с (реальные медианы платформы; подробности и все состояния — в Жизненном цикле).
- Приложения с регулярным трафиком платформа прогревает автоматически.
- В простое проект ничего не стоит по compute — за это serverless и любят.
Выделенный keep-warm (гарантированно без холодных стартов) — платная настройка в планах.
Stateless-инвариант
Файловая система контейнера эфемерна — это важное ограничение, которое легко проглядеть. Прочтите Stateless-инвариант прежде чем мигрировать существующее SSR-приложение, использующее SQLite, файловые сессии или локальный кеш.