Variáveis de ambiente globais

TZ

Usada para definir o fuso horário da aplicação. O padrão é o fuso horário do sistema operacional.

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

Warning

Operações relacionadas a tempo serão processadas de acordo com este fuso horário. Alterar TZ pode afetar valores de data no banco de dados. Para mais detalhes, consulte "Visão geral de Data e Hora".

APP_ENV

Ambiente da aplicação. Valor padrão development. Opções disponíveis:

  • production ambiente de produção
  • development ambiente de desenvolvimento
APP_ENV=production

APP_KEY

Chave secreta da aplicação, usada para gerar tokens de usuário, entre outros. Altere-a para sua própria chave e garanta que ela não seja exposta.

Warning

Se a APP_KEY for alterada, os tokens antigos também perderão validade.

APP_KEY=app-key-test

APP_PORT

Porta da aplicação. Valor padrão 13000.

APP_PORT=13000

API_BASE_PATH

Prefixo do endereço da API do NocoBase. Valor padrão /api/.

API_BASE_PATH=/api/

API_BASE_URL

SERVER_REQUEST_WHITELIST

Lista de permissões de destinos para requisições HTTP de saída iniciadas pelo servidor. Aplica-se a requisições do lado do servidor em recursos como nós de requisição HTTP em workflows, requisições personalizadas e serviços AI.

Quando essa variável não está configurada, o NocoBase continua permitindo requisições http / https para manter a compatibilidade com implantações existentes. No entanto, se o destino for um endereço loopback, privado, link-local ou metadata, ou se um domínio resolver para um desses endereços, o servidor registra um warning nos logs. Versões futuras podem tornar o comportamento padrão mais restrito. Se sua implantação precisar acessar serviços internos, configure uma lista de permissões explícita com antecedência.

Quando essa variável está configurada, a requisição inicial e cada destino de redirecionamento devem corresponder a uma entrada da lista de permissões. Se um redirecionamento apontar para um host sem correspondência, o NocoBase interrompe antes de enviar a requisição redirecionada.

Entradas suportadas:

  • Endereço IPv4 exato, como 192.168.1.10
  • Intervalo CIDR IPv4, como 10.0.0.0/8
  • Endereço IPv6 exato, como ::1
  • Intervalo CIDR IPv6, como fc00::/7
  • Domínio exato, como api.example.com
  • Subdomínio curinga de um único nível, como *.example.com

Use , para separar vários destinos:

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

Se um domínio for configurado na lista de permissões, a verificação usa o host na URL da requisição. Em outras palavras, depois que internal.example.com for configurado, ele será tratado como explicitamente permitido mesmo que o domínio resolva para 127.0.0.1 ou para um endereço privado.

CLUSTER_MODE

v1.6.0+

Modo de inicialização multi-core (cluster). Quando esta variável for configurada, será repassada ao comando pm2 start como o argumento -i <instances>. As opções são as mesmas do parâmetro -i do pm2 (consulte PM2: Cluster Mode), incluindo:

  • max: usa o número máximo de núcleos da CPU
  • -1: usa o número máximo de núcleos da CPU menos 1
  • <number>: especifica o número de núcleos

O valor padrão é vazio, o que significa que está desativado.

Atenção

Este modo precisa ser usado em conjunto com Plugins relacionados ao modo cluster. Caso contrário, as funcionalidades da aplicação podem apresentar comportamento inesperado.

Para mais informações, consulte: Modo Cluster.

PLUGIN_PACKAGE_PREFIX

Prefixo dos nomes de pacotes de Plugin. O padrão é @nocobase/plugin-,@nocobase/preset-.

Por exemplo, ao adicionar o Plugin hello ao projeto my-nocobase-app, o nome completo do pacote do Plugin será @my-nocobase-app/plugin-hello.

PLUGIN_PACKAGE_PREFIX pode ser configurado como:

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

A correspondência entre o nome do Plugin e o nome do pacote ficará assim:

  • O Plugin users tem como pacote @nocobase/plugin-users
  • O Plugin nocobase tem como pacote @nocobase/preset-nocobase
  • O Plugin hello tem como pacote @my-nocobase-app/plugin-hello

DB_DIALECT

Tipo de banco de dados. Opções disponíveis:

  • mariadb
  • mysql
  • postgres
DB_DIALECT=mysql

DB_HOST

Host do banco de dados (obrigatório ao usar MySQL ou PostgreSQL).

Valor padrão localhost.

DB_HOST=localhost

DB_PORT

Porta do banco de dados (obrigatória ao usar MySQL ou PostgreSQL).

  • Porta padrão de MySQL e MariaDB: 3306
  • Porta padrão de PostgreSQL: 5432
DB_PORT=3306

DB_DATABASE

Nome do banco de dados (obrigatório ao usar MySQL ou PostgreSQL).

DB_DATABASE=nocobase

DB_USER

Usuário do banco de dados (obrigatório ao usar MySQL ou PostgreSQL).

DB_USER=nocobase

DB_PASSWORD

Senha do banco de dados (obrigatória ao usar MySQL ou PostgreSQL).

DB_PASSWORD=nocobase

DB_TABLE_PREFIX

Prefixo das tabelas do banco de dados.

DB_TABLE_PREFIX=nocobase_

DB_UNDERSCORED

Define se nomes de tabelas e colunas do banco serão convertidos para o estilo snake_case. O padrão é false. Se você usa MySQL (MariaDB) com lower_case_table_names=1, então DB_UNDERSCORED deve ser true.

Warning

Quando DB_UNDERSCORED=true, os nomes reais de tabelas e colunas no banco diferem dos exibidos na UI. Por exemplo, orderDetails aparece no banco como order_details.

DB_LOGGING

Liga/desliga o log do banco de dados. Valor padrão off. Opções disponíveis:

  • on ligado
  • off desligado
DB_LOGGING=on

LOGGER_TRANSPORT

Forma de saída do log. Vários valores podem ser separados por ,. No ambiente de desenvolvimento o padrão é console; em produção o padrão é console,dailyRotateFile. Opções disponíveis:

  • console - console.log
  • file - arquivo
  • dailyRotateFile - arquivo rotacionado diariamente
LOGGER_TRANSPORT=console,dailyRotateFile

LOGGER_LEVEL

Nível de log de saída. No ambiente de desenvolvimento o padrão é debug; em produção, info. Opções disponíveis:

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

O nível dos logs do banco de dados é debug. A saída é controlada por DB_LOGGING e não é afetada por LOGGER_LEVEL.

LOGGER_MAX_FILES

Número máximo de arquivos de log a manter.

  • Quando LOGGER_TRANSPORT é file, o padrão é 10.
  • Quando LOGGER_TRANSPORT é dailyRotateFile, use [n]d para representar dias. O padrão é 14d.
LOGGER_MAX_FILES=14d

LOGGER_MAX_SIZE

Rotaciona o log por tamanho.

  • Quando LOGGER_TRANSPORT é file, a unidade é byte. O padrão é 20971520 (20 * 1024 * 1024).
  • Quando LOGGER_TRANSPORT é dailyRotateFile, é possível usar [n]k, [n]m, [n]g. Sem padrão definido.
LOGGER_MAX_SIZE=20971520

LOGGER_FORMAT

Formato de impressão do log. No ambiente de desenvolvimento o padrão é console; em produção, json. Opções disponíveis:

  • console
  • json
  • logfmt
  • delimiter
LOGGER_FORMAT=json

Referência: Formato de log

CACHE_DEFAULT_STORE

Identificador único da estratégia de cache, usado para definir o cache padrão do servidor. Valor padrão memory. Opções nativas:

  • memory
  • redis
CACHE_DEFAULT_STORE=memory

CACHE_MEMORY_MAX

Número máximo de itens no cache em memória. Valor padrão 2000.

CACHE_MEMORY_MAX=2000

CACHE_REDIS_URL

Conexão Redis (opcional). Exemplo: redis://localhost:6379.

CACHE_REDIS_URL=redis://localhost:6379

TELEMETRY_ENABLED

Liga a coleta de dados de telemetria. O padrão é off.

TELEMETRY_ENABLED=on

TELEMETRY_METRIC_READER

Coletores de métricas habilitados. O padrão é console. Outros valores devem corresponder ao nome registrado pelo Plugin de coletor correspondente, por exemplo prometheus. Vários valores são separados por ,.

TELEMETRY_METRIC_READER=console,prometheus

TELEMETRY_TRACE_PROCESSOR

Processadores de dados de tracing habilitados. O padrão é console. Outros valores devem corresponder ao nome registrado pelo Plugin processador. Vários valores são separados por ,.

TELEMETRY_TRACE_PROCESSOR=console