Biến môi trường toàn cục
TZ
Dùng để đặt múi giờ của ứng dụng, mặc định là múi giờ của hệ điều hành.
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Các thao tác liên quan đến thời gian sẽ được xử lý theo múi giờ này. Sửa đổi TZ có thể ảnh hưởng đến giá trị ngày trong cơ sở dữ liệu, xem chi tiết trong "Tổng quan về Date & Time".
APP_ENV
Môi trường ứng dụng, giá trị mặc định development, các tùy chọn:
productionMôi trường productiondevelopmentMôi trường development
APP_KEY
Khóa bí mật của ứng dụng, dùng để sinh token người dùng, v.v. Đổi thành khóa bí mật của riêng bạn và đảm bảo không bị rò rỉ.
Nếu APP_KEY được sửa đổi, các token cũ cũng sẽ hết hiệu lực.
APP_PORT
Cổng ứng dụng, giá trị mặc định 13000.
API_BASE_PATH
Tiền tố địa chỉ API của NocoBase, giá tr ị mặc định /api/.
API_BASE_URL
SERVER_REQUEST_WHITELIST
Whitelist mục tiêu cho các yêu cầu HTTP gửi ra ngoài do server khởi tạo. Áp dụng cho các yêu cầu phía server từ các tính năng như node HTTP Request của Workflow, custom request và dịch vụ AI.
Khi biến này chưa được cấu hình, NocoBase vẫn cho phép yêu cầu http / https để giữ tương thích với các deployment hiện có. Tuy nhiên, nếu mục tiêu là địa chỉ loopback, private, link-local, metadata, hoặc domain resolve đến các địa chỉ này, server sẽ ghi warning vào log. Các phiên bản sau có thể dần siết chặt hành vi mặc định. Nếu deployment của bạn cần truy cập dịch vụ nội bộ, hãy cấu hình whitelist rõ ràng từ trước.
Khi biến này được cấu hình, yêu cầu ban đầu và mọi đích redirect phải khớp với một mục trong whitelist. Nếu redirect trỏ đến host không khớp, NocoBase sẽ dừng trước khi gửi yêu cầu đã redirect.
Các mục được hỗ trợ:
- Địa chỉ IPv4 chính xác, như
192.168.1.10 - Dải CIDR IPv4, như
10.0.0.0/8 - Địa chỉ IPv6 chính xác, như
::1 - Dải CIDR IPv6, như
fc00::/7 - Tên miền chính xác, như
api.example.com - Subdomain wildcard một cấp, như
*.example.com
Dùng , để phân tách nhiều mục tiêu:
Nếu cấu hình domain trong whitelist, kiểm tra whitelist sẽ dùng host trong URL của yêu cầu. Nói cách khác, sau khi cấu hình internal.example.com, mục tiêu này được xem là đã cho phép rõ ràng ngay cả khi domain resolve đến 127.0.0.1 hoặc địa chỉ private.
CLUSTER_MODE
v1.6.0+
Chế độ khởi động đa lõi (cluster). Nếu được cấu hình, biến này sẽ được truyền vào lệnh pm2 start làm tham số -i <instances>. Các tùy chọn giống tham số -i của pm2 (tham khảo PM2: Cluster Mode), gồm:
max: Sử dụng số lõi CPU tối đa-1: Sử dụng số lõi CPU tối đa - 1<number>: Số lõi cụ thể
Giá trị mặc định để trống, nghĩa là không bật.
Chế độ này cần dùng kết hợp với các Plugin liên quan đến chế độ cluster, nếu không các tính năng của ứng dụng có thể hoạt động không bình thường.
Tham khảo thêm: Chế độ Cluster.
PLUGIN_PACKAGE_PREFIX
Tiền tố tên gói Plugin, mặc định: @nocobase/plugin-,@nocobase/preset-.
Ví dụ, thêm Plugin hello vào dự án my-nocobase-app, tên gói đầy đủ của Plugin là @my-nocobase-app/plugin-hello.
PLUGIN_PACKAGE_PREFIX có thể được cấu hình thành:
Khi đó tương ứng giữa tên Plugin và tên gói như sau:
- Plugin
userscó tên gói@nocobase/plugin-users - Plugin
nocobasecó tên gói@nocobase/preset-nocobase - Plugin
hellocó tên gói@my-nocobase-app/plugin-hello
DB_DIALECT
Loại cơ sở dữ liệu, các tùy chọn:
mariadbmysqlpostgres
DB_HOST
Host cơ sở dữ liệu (cần cấu hình khi dùng MySQL hoặc PostgreSQL).
Giá trị mặc định localhost.
DB_PORT
Cổng cơ sở dữ liệu (cần cấu hình khi dùng MySQL hoặc PostgreSQL).
- MySQL, MariaDB cổng mặc định 3306
- PostgreSQL cổng mặc định 5432
DB_DATABASE
Tên cơ sở dữ liệu (cần cấu hình khi dùng MySQL hoặc PostgreSQL).
DB_USER
User cơ sở dữ liệu (cần cấu hình khi dùng MySQL hoặc PostgreSQL).
DB_PASSWORD
Mật khẩu cơ sở dữ liệu (cần cấu hình khi dùng MySQL hoặc PostgreSQL).
DB_TABLE_PREFIX
Tiền tố tên bảng dữ liệu.
DB_UNDERSCORED
Có chuyển tên bảng và tên cột sang phong cách snake case hay không, mặc định false. Nếu dùng MySQL (MariaDB) và lower_case_table_names=1, thì DB_UNDERSCORED phải là true.
Khi DB_UNDERSCORED=true, tên bảng và tên cột thực tế trong cơ sở dữ liệu sẽ khác với những gì thấy trên giao diện. Ví dụ orderDetails trong cơ sở dữ liệu là order_details.
DB_LOGGING
Bật/tắt log cơ sở dữ liệu, giá trị mặc định off, các tùy chọn:
onBậtoffTắt
LOGGER_TRANSPORT
Phương thức xuất log, nhiều giá trị phân tách bằng ,. Môi trường development mặc định console, môi trường production mặc định console,dailyRotateFile.
Các tùy chọn:
console-console.logfile-filedailyRotateFile-file xoay theo ngày
LOGGER_LEVEL
Mức log xuất ra, môi trường development mặc định debug, môi trường production mặc định info. Các tùy chọn:
errorwarninfodebugtrace
Mức log của cơ sở dữ liệu là debug, được điều khiển bởi DB_LOGGING để quyết định có xuất ra hay không, không bị ảnh hưởng bởi LOGGER_LEVEL.
LOGGER_MAX_FILES
Số lượng file log tối đa được giữ lại.
- Khi
LOGGER_TRANSPORTlàfile, giá trị mặc định10. - Khi
LOGGER_TRANSPORTlàdailyRotateFile, dùng[n]dđể biểu thị số ngày. Giá trị mặc định14d.
LOGGER_MAX_SIZE
Xoay log theo kích thước.
- Khi
LOGGER_TRANSPORTlàfile, đơn vị làbyte, giá trị mặc định20971520 (20 * 1024 * 1024). - Khi
LOGGER_TRANSPORTlàdailyRotateFile, có thể dùng[n]k,[n]m,[n]g. Mặc định không cấu hình.
LOGGER_FORMAT
Định dạng in log, môi trường development mặc định console, môi trường production mặc định json. Các tùy chọn:
consolejsonlogfmtdelimiter
Tham khảo: Định dạng log.
CACHE_DEFAULT_STORE
Định danh duy nhất của phương thức cache, chỉ định phương thức cache mặc định của server, giá trị mặc định memory. Các tùy chọn có sẵn:
memoryredis
CACHE_MEMORY_MAX
Số lượng item tối đa của bộ nhớ cache, giá trị mặc định 2000.
CACHE_REDIS_URL
Kết nối Redis, tùy chọn. Ví dụ: redis://localhost:6379.
TELEMETRY_ENABLED
Bật thu thập dữ liệu telemetry, mặc định off.
TELEMETRY_METRIC_READER
Trình thu thập chỉ số giám sát được bật, mặc định console. Các giá trị khác cần tham khảo tên đăng ký của Plugin trình thu thập tương ứng, ví dụ prometheus. Nhiều giá trị phân tách bằng ,.
TELEMETRY_TRACE_PROCESSOR
Trình xử lý dữ liệu trace được bật, mặc định console. Các giá trị khác cần tham khảo tên đăng ký của Plugin xử lý tương ứng. Nhiều giá trị phân tách bằng ,.

