Сайт ↗
Разделы документации
Эксплуатация · 0.8.1

Окружения: настройки в интерфейсе и custom-файлы

Как создать профиль запуска в Generator UI, сохранить настройки и дополнить их вручную.

На этой странице

Окружение — отдельный запуск приложения со своей БД, файлами и адресами. Например, local работает на вашем компьютере, а production — на VPS. Имя выбираете вы: --env production обращается к профилю с именем production, а не включает особый встроенный режим.

Где настраивать

В Generator UI откройте Deployment. Включите Docker и Production deployment, затем найдите Deployment environments. Домены, каталог данных, серверы, способ доставки и backup вводятся здесь. После Save deployment settings и Generate контроллер получит готовые настройки.

Что меняете Где это делать
Сущности, поля, связи и доступ В интерфейсе генератора
Параметры конкретного запуска Deployment → Deployment environments
Отдельные параметры вручную deploy/custom/environments/<имя>.json
Пароли и токены сервисов В отдельном файле секретов вне Git
Работающую версию приложения Командами deploy/control

Save deployment settings сохраняет модель проекта. Generate создаёт или обновляет файлы приложения. Ни одно из этих действий не запускает команды на VPS.

Как настройки попадают в control

Для профиля production генератор создаёт:

  • deploy/generated/environments/production.json — полный набор настроек из UI. Этот файл обновляет Generate;
  • deploy/custom/environments/production.json — первоначально {}. Здесь можно переопределить отдельные значения; последующая генерация сохраняет ваши изменения;
  • deploy/custom/environments/README.md — правила редактирования custom-файлов.

Ничего копировать в deploy/environments/ для нового профиля не нужно. Примеры в deploy/generated/examples/ остаются справочником, а не обязательным шагом запуска.

Когда нужен custom

Например, кроме системы администрирования API будет вызывать отдельный сайт. Добавьте его адрес в Allowed HTTPS origins в UI. Если это удобнее хранить отдельной ручной настройкой, откройте deploy/custom/environments/production.json и запишите:

{
  "allowedOrigins": [
    "https://admin.example.com",
    "https://app.example.com"
  ]
}

Это полное содержимое custom-файла, а не полная конфигурация окружения. Замените домены своими. Остальные настройки возьмутся из UI. Массив заменяется целиком, поэтому в примере оставлен и адрес админки. Вложенные объекты объединяются по полям; обычное значение заменяется; null удаляет поле. Произвольные параметры добавлять нельзя, а project, schemaVersion и environment менять через custom запрещено.

Чтобы отменить ручные переопределения, верните {}. JSON не поддерживает комментарии; пояснения пишите в соседнем README. После изменения только custom повторять Generate не нужно: control читает файл при запуске команды.

Приоритет файлов и старые настройки

Если существует deploy/environments/production.json, control использует его целиком. Настройки UI и custom для этого имени не применяются. Это ручной режим, оставленный для самостоятельного управления полным JSON.

Для перехода с ручного файла на UI:

  1. В Deployment environments укажите его имя и нажмите Import manual JSON.
  2. Проверьте импортированные значения, сохраните проект и выполните Generate.
  3. Перенесите прежний deploy/environments/production.json за пределы этой папки, сохранив его копию.
  4. Откройте Preview effective JSON: источник должен быть Generated или Custom, а не Manual.

Предпросмотр показывает текущий черновик с учётом файлов. Перед запуском команд сохраните настройки и выполните Generate.

Изменения после первого выпуска

Изменение настроек не переносит БД, не меняет автоматически домен и не переезжает на другой VPS. Для поддерживаемой смены доставки, registry или backup предусмотрен reconfigure. Перенос данных описан отдельно.

Адаптер изображений — Local или S3 — выбирается для проекта в целом. Профиль задаёт каталог либо параметры S3, но не переключает адаптер независимо от остальных окружений. CI provider тоже общий для проекта.