Основные концепции
Прежде чем погружаться в детали, разберёмся в словаре платформы: проект, окружение, деплой, runtime и handle. Эти пять понятий встречаются во всём остальном дока-сайте.
Организация
Организация — scope, объединяющий людей, проекты и интеграции под одним slug'ом. Бывает двух видов:
- Personal — личная, создаётся автоматически на signup, slug =
ваш
username. Один на пользователя, без приглашений. - Team — командная, создаётся вручную ("+ Создать команду"), принимает приглашения по email, может подключить GitHub App.
Подробно — Организации.
Переключатель организаций — в верхнем углу дашборда. Выбор запоминается в браузере, а все списки — проекты, репозитории для импорта, деплои — показывают только то, что относится к выбранной организации.
Проект
Проект — единица деплоя. Принадлежит одной организации и получает от
платформы канонический адрес в зоне пользовательских сайтов:
https://<project>.layero.app. У проектов, созданных до переезда
(26 июля 2026), в адресе остался префикс организации —
https://<organization>-<project>.layero.app. Точный адрес виден в дашборде;
подробности в Окружения, preview и production.
Источник кода:
github— код берётся из GitHub-репозитория, push автоматически запускает деплой через webhook (OAuth или GitHub App).cli— код приходит из локальногоlayero deploy(загрузка тарбола).
Один проект может одновременно принимать оба источника
(mixed-mode): GitHub push + CLI uploads сосуществуют. См.
layero deploy.
Окружение
Окружение соответствует ветке репозитория. Push в любую ветку создаёт своё окружение со своей историей деплоев и своим preview-URL, который живёт, пока существует ветка.
У проекта есть один production-адрес — apex. Какое окружение его сейчас отдаёт — решает production_deploy_id (см. ниже). Это не обязательно default-ветка — может быть любой promoted-билд.
См. Окружения, preview и production.
Деплой
Деплой — конкретная сборка с конкретного коммита (commit_sha).
У каждого деплоя есть статус:
| Статус | Что значит |
|---|---|
queued | поставлен в очередь, ждёт билд-инстанса |
building | сборка идёт прямо сейчас |
ready | артефакты загружены, можно promote'ить и отдавать |
failed | сборка упала, см. логи деплоя |
environments.active_deploy_id — последний ready-деплой ветки, обновляется атомарно после билда. Доступен по preview-URL ветки.
projects.production_deploy_id — указатель на тот один деплой, который сейчас отдаёт apex. Двигается auto-promote'ом на default-ветке или вручную через UI/CLI promote.
Rollback — обмен production_deploy_id и previous_production_deploy_id одним атомарным шагом. Apex моментально возвращается на прошлый рабочий билд; повторный rollback вернёт всё обратно. См. layero promote или кнопку «Откатить» в UI.
Runtime: статика vs SSR
Layero различает два режима исполнения:
- SPA / static (по умолчанию) — после сборки получаем папку с HTML/JS/CSS, она лежит в объектном хранилище и отдаётся с edge-серверов платформы. Никаких процессов на стороне Layero не запускается. Это самый быстрый и дешёвый режим.
- Runtime — приложение запускается как контейнер (SSR Next.js, Streamlit, Gradio, Flask и т. п.). Контейнер активируется по первому запросу и останавливается при простое. См. Runtime.
Username и организация
При первом входе вы выбираете уникальный username — handle вашего
аккаунта. На его основе автоматически создаётся ваша персональная
организация со slug'ом, равным username. У проектов, созданных до переезда
на layero.app, этот slug попал в адрес сайта
(https://alice-<project>.layero.app). У новых адрес состоит из одного слага
проекта, и slug организации на него не влияет.
Помимо персональной, можно создавать дополнительные организации со своими slug'ами — например, для совместной работы с командой. В каждой организации могут состоять несколько участников (admin / member), приглашаемых по email. Управление участниками — в разделе Команда.
Username задаётся один раз при онбординге. Подробнее в Onboarding.
Билд-окружение
- Node.js —
nvm use <detected_version>. Версия определяется по.nvmrc,.node-version,engines.nodeвpackage.json. По умолчанию — Node 20. - Пакетный менеджер — детектируется по lock-файлу:
yarn.lock→ yarn,pnpm-lock.yaml→ pnpm, иначе npm. node_modulesудаляется передinstall.- Команда сборки — берётся из проекта (
build_cmd), по умолчаниюnpm run build. Output-директория определяется по фреймворку (см. Поддерживаемые фреймворки).