logologo
Начало
Руководство
Разработка
Плагины
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
logologo
Как работает NocoBase
Сравнение способов установки и версий

Установка NocoBase

Установка через Docker
Установка через create-nocobase-app
Установка из исходного кода Git
Переменные окружения

Обновление NocoBase

Обновление установки Docker
Обновление установки create-nocobase-app
Обновление установки из исходного кода Git

Развертывание

Развертывание в производственной среде

Прокси для статических ресурсов

nginx
caddy
CDN

Основные команды для эксплуатации

docker compose
pm2
Как ускорить развертывание
Установка и обновление плагинов
Previous PageУстановка из исходного кода Git
Next PageОбновление установки Docker
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#Переменные среды

#Как настроить переменные среды?

#Установка из исходного кода Git или с помощью create-nocobase-app

Установите переменные среды в файле .env в корневом каталоге проекта. После изменения переменных среды необходимо завершить процесс приложения и перезапустить его.

#Установка с помощью Docker

Измените конфигурацию docker-compose.yml и установите переменные среды в параметре environment. Пример:

services:
  app:
    image: nocobase/nocobase:latest
    environment:
      - APP_ENV=production

Вы также можете использовать env_file для установки переменных среды в файле .env. Пример:

services:
  app:
    image: nocobase/nocobase:latest
    env_file: .env

После изменения переменных среды необходимо пересобрать контейнер приложения:

docker compose up -d app

#Глобальные переменные среды

#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

#CLUSTER_MODE

v1.6.0+

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

  • max: Использовать максимальное количество ядер ЦП
  • -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

#DB_POOL_MAX

Максимальное количество соединений в пуле базы данных. Значение по умолчанию 5.

#DB_POOL_MIN

Минимальное количество соединений в пуле базы данных. Значение по умолчанию 0.

#DB_POOL_IDLE

Максимальное время простоя соединения в пуле базы данных. Значение по умолчанию 10000 (10 секунд).

#DB_POOL_ACQUIRE

Максимальное время ожидания получения соединения из пула базы данных. Значение по умолчанию 60000 (60 секунд).

#DB_POOL_EVICT

Максимальное время жизни соединения в пуле базы данных. Значение по умолчанию 1000 (1 секунда).

#DB_POOL_MAX_USES

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

#LOGGER_TRANSPORT

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

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

#LOGGER_BASE_PATH

Путь для хранения файловых логов. Значение по умолчанию storage/logs.

LOGGER_BASE_PATH=storage/logs

#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, единица измерения — байт, значение по умолчанию 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

Подключение к 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

#Экспериментальные переменные среды

#APPEND_PRESET_LOCAL_PLUGINS

Используется для добавления предустановленных неактивных плагинов. Значением является имя пакета плагина (параметр name в package.json), несколько плагинов разделяются запятыми.

:::info

  1. Убедитесь, что плагин загружен локально и его можно найти в каталоге node_modules. Подробнее см. Структура проекта плагинов.
  2. После добавления переменной среды плагин появится на странице менеджера плагинов только после первоначальной установки (nocobase install) или обновления (nocobase upgrade). :::
APPEND_PRESET_LOCAL_PLUGINS=@my-project/plugin-foo,@my-project/plugin-bar

#APPEND_PRESET_BUILT_IN_PLUGINS

Используется для добавления встроенных плагинов, устанавливаемых по умолчанию. Значением является имя пакета плагина (параметр name в package.json), несколько плагинов разделяются запятыми.

:::info

  1. Убедитесь, что плагин загружен локально и его можно найти в каталоге node_modules. Подробнее см. Структура проекта плагинов.
  2. После добавления переменной среды плагин будет автоматически установлен или обновлен во время первоначальной установки (nocobase install) или обновления (nocobase upgrade). :::
APPEND_PRESET_BUILT_IN_PLUGINS=@my-project/plugin-foo,@my-project/plugin-bar

#Временные переменные среды

При установке NocoBase вы можете использовать временные переменные среды для облегчения процесса, например:

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  INIT_ROOT_PASSWORD=admin123 \
  INIT_ROOT_NICKNAME="Super Admin" \
  nocobase install

# Эквивалентно
yarn nocobase install \
  --lang=zh-CN  \
  --root-email=demo@nocobase.com \
  --root-password=admin123 \
  --root-nickname="Super Admin"

# Эквивалентно
yarn nocobase install -l zh-CN -e demo@nocobase.com -p admin123 -n "Super Admin"

#INIT_APP_LANG

Язык во время установки. Значение по умолчанию en-US. Доступные варианты:

  • en-US
  • zh-CN
yarn cross-env \
  INIT_APP_LANG=zh-CN \
  nocobase install

#INIT_ROOT_EMAIL

Электронная почта пользователя Root.

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  nocobase install

#INIT_ROOT_PASSWORD

Пароль пользователя Root.

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  INIT_ROOT_PASSWORD=admin123 \
  nocobase install

#INIT_ROOT_NICKNAME

Псевдоним пользователя Root.

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  INIT_ROOT_PASSWORD=admin123 \
  INIT_ROOT_NICKNAME="Super Admin" \
  nocobase install