Глобальные переменные окружения

TZ

Используется для задания часового пояса приложения; по умолчанию используется часовой пояс системы.

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Warning

Операции, связанные со временем, будут выполняться в соответствии с этим часовым поясом. Изменение TZ может повлиять на значения дат в базе данных. Для получения подробностей см. Обзор даты и времени.

APP_ENV

Окружение приложения; по умолчанию — development. Доступные варианты:

  • production — производственное окружение
  • development — окружение разработки
APP_ENV=production

APP_KEY

Секретный ключ приложения, используемый для генерации токенов пользователей и т. д. Замените его на ваш собственный ключ приложения и убедитесь, что он не раскрыт.

Warning

Если APP_KEY будет изменён, старые токены станут недействительными.

APP_KEY=app-key-test

APP_PORT

Порт приложения; по умолчанию — 13000.

APP_PORT=13000

API_BASE_PATH

Префикс адреса API NocoBase; по умолчанию — /api/.

API_BASE_PATH=/api/

API_BASE_URL

SERVER_REQUEST_WHITELIST

Белый список разрешённых адресатов для исходящих HTTP-запросов, инициируемых сервером. Он применяется к серверным запросам из таких функций, как узлы HTTP-запросов в рабочих процессах, пользовательские запросы и AI-сервисы.

Если эта переменная не настроена, NocoBase по-прежнему разрешает запросы http / https для совместимости с существующими установками. Однако если цель является loopback-, private-, link-local- или metadata-адресом либо домен разрешается в один из таких адресов, сервер запишет warning в лог. В будущих версиях поведение по умолчанию может постепенно стать строже. Если вашей установке нужен доступ к внутренним сервисам, заранее настройте явный белый список.

Если эта переменная настроена, исходный запрос и каждый адрес перенаправления должны соответствовать записи в белом списке. Если перенаправление указывает на несовпадающий хост, NocoBase остановится до отправки перенаправленного запроса.

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

  • Точный IPv4-адрес, например 192.168.1.10
  • Диапазон IPv4 CIDR, например 10.0.0.0/8
  • Точный IPv6-адрес, например ::1
  • Диапазон IPv6 CIDR, например fc00::/7
  • Точный домен, например api.example.com
  • Одноуровневый поддомен с подстановочным символом, например *.example.com

Для нескольких целей используйте ,:

SERVER_REQUEST_WHITELIST=api.example.com,*.trusted.com,10.0.0.0/8,127.0.0.1
Note

Если домен настроен в белом списке, проверка использует host из URL запроса. Иными словами, после настройки internal.example.com он считается явно разрешённой целью, даже если домен разрешается в 127.0.0.1 или private-адрес.

CLUSTER_MODE

v1.6.0+

Режим запуска приложения с несколькими ядрами (режим кластера). Если эта переменная задана, она будет передана в команду pm2 start как параметр -i <instances>. Варианты соответствуют параметру pm2 -i (см. PM2: режим кластера), включая:

  • max — использовать максимальное количество ядер CPU
  • -1 — максимальное количество ядер CPU минус 1
  • <number> — указать количество ядер

Значение по умолчанию пустое, то есть режим не включён.

Внимание

Для этого режима требуются плагины, связанные с режимом кластера. В противном случае функциональность приложения может работать некорректно.

Для получения дополнительной информации см. Режим кластера.

PLUGIN_PACKAGE_PREFIX

Префикс пакета плагинов; по умолчанию: @nocobase/plugin-,@nocobase/preset-.

Например, чтобы добавить плагин hello в проект my-nocobase-app, полное имя пакета плагина будет @my-nocobase-app/plugin-hello.

PLUGIN_PACKAGE_PREFIX можно настроить так:

PLUGIN_PACKAGE_PREFIX=@nocobase/plugin-,@nocobase-preset-,@my-nocobase-app/plugin-

Соответствие между именем плагина и именем пакета следующее:

  • users — имя пакета плагина: @nocobase/plugin-users
  • nocobase — имя пакета плагина: @nocobase/preset-nocobase
  • hello — имя пакета плагина: @my-nocobase-app/plugin-hello

DB_DIALECT

Тип базы данных. Доступные варианты:

  • mariadb
  • mysql
  • postgres
DB_DIALECT=mysql

DB_HOST

Хост базы данных (обязателен при использовании базы данных MySQL или PostgreSQL).

Значение по умолчанию — localhost.

DB_HOST=localhost

DB_PORT

Порт базы данных (обязателен при использовании базы данных MySQL или PostgreSQL).

  • Порт по умолчанию для MySQL и MariaDB — 3306
  • Порт по умолчанию для PostgreSQL — 5432
DB_PORT=3306

DB_DATABASE

Имя базы данных (обязательно при использовании базы данных MySQL или PostgreSQL).

DB_DATABASE=nocobase

DB_USER

Пользователь базы данных (обязателен при использовании базы данных MySQL или PostgreSQL).

DB_USER=nocobase

DB_PASSWORD

Пароль базы данных (обязателен при использовании базы данных MySQL или PostgreSQL).

DB_PASSWORD=nocobase

DB_TABLE_PREFIX

Префикс таблиц.

DB_TABLE_PREFIX=nocobase_

DB_UNDERSCORED

Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case. По умолчанию — false. Если используется база данных MySQL (MariaDB) с настройкой lower_case_table_names=1, значение DB_UNDERSCORED должно быть true.

Warning

Когда DB_UNDERSCORED=true, фактические имена таблиц и полей в базе данных не совпадают с теми, которые отображаются в интерфейсе. Например, orderDetails в базе данных хранится как order_details.

DB_LOGGING

Переключатель логирования базы данных. По умолчанию — off. Доступные варианты:

  • on — включено
  • off — выключено
DB_LOGGING=on

LOGGER_TRANSPORT

Метод вывода логов; несколько значений разделяются ,. По умолчанию: console в окружении разработки и console,dailyRotateFile в производственном окружении. Доступные варианты:

  • consoleconsole.log
  • file — вывод в файл
  • dailyRotateFile — вывод в файлы с ежедневной ротацией
LOGGER_TRANSPORT=console,dailyRotateFile

LOGGER_LEVEL

Уровень вывода логов. По умолчанию — debug в окружении разработки и info в производственном окружении. Доступные варианты:

  • error
  • warn
  • info
  • debug
  • trace
LOGGER_LEVEL=info

Уровень вывода логов базы данных всегда — debug; он контролируется параметром DB_LOGGING и не зависит от LOGGER_LEVEL.

LOGGER_MAX_FILES

Максимальное количество файлов логов для хранения.

  • Когда LOGGER_TRANSPORT равно file, по умолчанию — 10.
  • Когда LOGGER_TRANSPORT равно dailyRotateFile, используйте [n]d для обозначения дней. По умолчанию — 14d.
LOGGER_MAX_FILES=14d

LOGGER_MAX_SIZE

Ротация логов по размеру.

  • Когда LOGGER_TRANSPORT равно file, единица измерения — byte. По умолчанию — 20971520 (20 * 1024 * 1024).
  • Когда LOGGER_TRANSPORT равно dailyRotateFile, можно использовать [n]k, [n]m, [n]g. По умолчанию не задано.
LOGGER_MAX_SIZE=20971520

LOGGER_FORMAT

Формат вывода логов. По умолчанию — console в окружении разработки и json в производственном окружении. Доступные варианты:

  • console
  • json
  • logfmt
  • delimiter
LOGGER_FORMAT=json

Справка: Формат логов

CACHE_DEFAULT_STORE

Уникальный идентификатор хранилища кэша, определяющий хранилище кэша по умолчанию на стороне сервера. По умолчанию — memory. Встроенные варианты:

  • memory
  • redis
CACHE_DEFAULT_STORE=memory

CACHE_MEMORY_MAX

Максимальное количество элементов в кэше в памяти. По умолчанию — 2000.

CACHE_MEMORY_MAX=2000

CACHE_REDIS_URL

URL подключения к Redis (необязательно). Пример: redis://localhost:6379.

CACHE_REDIS_URL=redis://localhost:6379

TELEMETRY_ENABLED

Включить сбор данных телеметрии. По умолчанию — off.

TELEMETRY_ENABLED=on

TELEMETRY_METRIC_READER

Включённые сборщики метрик мониторинга. По умолчанию — console. Остальные значения должны соответствовать именам, под которыми зарегистрированы соответствующие плагины-сборщики, например prometheus. Несколько значений разделяются ,.

TELEMETRY_METRIC_READER=console,prometheus

TELEMETRY_TRACE_PROCESSOR

Включённые обработчики данных трассировки. По умолчанию — console. Остальные значения должны соответствовать именам, под которыми зарегистрированы соответствующие плагины-обработчики. Несколько значений разделяются ,.

TELEMETRY_TRACE_PROCESSOR=console