server-config

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Steedos Server Configuration | Steedos 服务端配置

Steedos 服务端配置

Overview | 概述

概述

Configuration is loaded from three sources (in priority order):
  1. Environment variables (
    .env
    file or system env)
  2. Project config (
    steedos-config.yml
    in working directory)
  3. Default settings (
    default.steedos.settings.yml
    shipped with server)
YAML values support
${ENV_VAR}
interpolation from environment variables.
配置从三个来源加载(按优先级排序):
  1. 环境变量
    .env
    文件或系统环境变量)
  2. 项目配置(工作目录中的
    steedos-config.yml
  3. 默认设置(随服务端分发的
    default.steedos.settings.yml
YAML 值支持通过
${ENV_VAR}
语法从环境变量中插值。

Required Environment Variables | 必需环境变量

必需环境变量

VariableDescriptionExample
MONGO_URL
MongoDB connection string
mongodb://localhost:27017/steedos
ROOT_URL
Application root URL
http://localhost:5100
B6_TRANSPORTER
Moleculer transporter (Redis)
redis://localhost:6379
B6_CACHER
Moleculer cacher (Redis)
redis://localhost:6379/1
B6_CLUSTER_TRANSPORTER
Redis for NestJS microservice transport
redis://localhost:6379
B6_CLUSTER_CACHER
Redis for session store
redis://localhost:6379/2
B6_SESSION_SECRET
Express session secret
your-secret-key
变量描述示例
MONGO_URL
MongoDB 连接字符串
mongodb://localhost:27017/steedos
ROOT_URL
应用根 URL
http://localhost:5100
B6_TRANSPORTER
Moleculer 传输器(Redis)
redis://localhost:6379
B6_CACHER
Moleculer 缓存器(Redis)
redis://localhost:6379/1
B6_CLUSTER_TRANSPORTER
用于 NestJS 微服务传输的 Redis
redis://localhost:6379
B6_CLUSTER_CACHER
用于会话存储的 Redis
redis://localhost:6379/2
B6_SESSION_SECRET
Express 会话密钥
your-secret-key

Server Environment Variables | 服务端环境变量

服务端环境变量

Core Server | 核心服务

核心服务

VariableDefaultDescription
B6_PORT
/
PORT
5100
Server listen port
ROOT_URL
http://127.0.0.1:{port}
Application root URL
B6_LOG_LEVEL
warn
Moleculer log level
B6_LOG_MONGO_ENABLED
autoMongoDB logging (true if license exists)
B6_JWT_SECRET
JWT signing secret
SESSION_PREFIX
steedos-session:
Redis session key prefix
变量默认值描述
B6_PORT
/
PORT
5100
服务端监听端口
ROOT_URL
http://127.0.0.1:{port}
应用根 URL
B6_LOG_LEVEL
warn
Moleculer 日志级别
B6_LOG_MONGO_ENABLED
autoMongoDB 日志记录(若存在许可证则启用)
B6_JWT_SECRET
JWT 签名密钥
SESSION_PREFIX
steedos-session:
Redis 会话键前缀

Edition & License | 版本与许可

版本与许可

VariableDefaultDescription
STEEDOS_EDITION
auto⚠️ MUST be one of:
ce
,
ee
,
cloud
.
Force edition
STEEDOS_LICENSE
Enterprise license key
STEEDOS_TENANT_ENABLE_SAAS
false
Enable SaaS/Cloud mode
变量默认值描述
STEEDOS_EDITION
auto⚠️ 必须为以下值之一:
ce
ee
cloud
。强制指定版本
STEEDOS_LICENSE
企业版许可证密钥
STEEDOS_TENANT_ENABLE_SAAS
false
启用 SaaS/云端模式

Frontend Assets | 前端资源

前端资源

VariableDefaultDescription
STEEDOS_UNPKG_URL
/unpkg
CDN URL for unpkg assets
STEEDOS_AMIS_VERSION
6.3.0-patch.8
Amis widget version
STEEDOS_WIDGETS_VERSION
6.10.52
Steedos widgets version
STEEDOS_BUILDER_URL
https://6-3.builder.steedos.com
Page builder URL
STEEDOS_PUBLIC_PAGE_ASSETURLS
auto-generatedComma-separated asset JSON URLs
STEEDOS_PUBLIC_SCRIPT_PLUGINS
Comma-separated JS plugin URLs
STEEDOS_PUBLIC_STYLE_PLUGINS
Comma-separated CSS plugin URLs
变量默认值描述
STEEDOS_UNPKG_URL
/unpkg
unpkg 资源的 CDN URL
STEEDOS_AMIS_VERSION
6.3.0-patch.8
Amis 组件版本
STEEDOS_WIDGETS_VERSION
6.10.52
Steedos 组件版本
STEEDOS_BUILDER_URL
https://6-3.builder.steedos.com
页面构建器 URL
STEEDOS_PUBLIC_PAGE_ASSETURLS
自动生成逗号分隔的资源 JSON URL
STEEDOS_PUBLIC_SCRIPT_PLUGINS
逗号分隔的 JS 插件 URL
STEEDOS_PUBLIC_STYLE_PLUGINS
逗号分隔的 CSS 插件 URL

Cloud Proxy | 云端代理

云端代理

VariableDefaultDescription
STEEDOS_CLOUD_URL
https://hub.steedos.cn
Cloud hub URL (enables
/api/cloud
proxy)
变量默认值描述
STEEDOS_CLOUD_URL
https://hub.steedos.cn
云端 hub URL(启用
/api/cloud
代理)

Plugin System | 插件系统

插件系统

VariableDescription
B6_PLUGIN_PACKAGES
NPM packages to load as plugins
B6_PLUGIN_SERVICES
Service definitions to load
B6_PLUGIN_MODULES
Module definitions to load
B6_PLUGIN_INSTALL_NPMRC
Custom npm registry config for plugin install
变量描述
B6_PLUGIN_PACKAGES
作为插件加载的 NPM 包
B6_PLUGIN_SERVICES
要加载的服务定义
B6_PLUGIN_MODULES
要加载的模块定义
B6_PLUGIN_INSTALL_NPMRC
插件安装时使用的自定义 npm 注册表配置

YAML Configuration | YAML 配置

YAML 配置

steedos-config.yml (Project Level)

steedos-config.yml(项目级)

Place in the server working directory to override defaults:
yaml
datasources:
  default:
    connection:
      url: ${MONGO_URL}
    objectFiles:
      - "./steedos-app/**"

tenant:
  _id: ${STEEDOS_TENANT_ID}
  name: My Company
  enable_register: true
  enable_password_login: true
放置在服务端工作目录中以覆盖默认设置:
yaml
datasources:
  default:
    connection:
      url: ${MONGO_URL}
    objectFiles:
      - "./steedos-app/**"

tenant:
  _id: ${STEEDOS_TENANT_ID}
  name: My Company
  enable_register: true
  enable_password_login: true

Configuration Sections | 配置节

配置节

datasources — 数据源

datasources — 数据源

yaml
datasources:
  default:
    connection:
      url: ${MONGO_URL}
    objectFiles:
      - "./steedos-app/**"
yaml
datasources:
  default:
    connection:
      url: ${MONGO_URL}
    objectFiles:
      - "./steedos-app/**"

tenant — 租户设置

tenant — 租户设置

yaml
tenant:
  _id: ${STEEDOS_TENANT_ID}
  name: My Company
  logo_url: ${STEEDOS_TENANT_LOGO_URL}
  enable_register: true
  enable_password_login: true
  enable_mobile_code_login: false
  enable_email_code_login: false
  enable_bind_email: false
  enable_bind_mobile: false
  tokenSecret: ${STEEDOS_TENANT_TOKEN_SECRET}
  accessTokenExpiresIn: 90d
  refreshTokenExpiresIn: 7d
yaml
tenant:
  _id: ${STEEDOS_TENANT_ID}
  name: My Company
  logo_url: ${STEEDOS_TENANT_LOGO_URL}
  enable_register: true
  enable_password_login: true
  enable_mobile_code_login: false
  enable_email_code_login: false
  enable_bind_email: false
  enable_bind_mobile: false
  tokenSecret: ${STEEDOS_TENANT_TOKEN_SECRET}
  accessTokenExpiresIn: 90d
  refreshTokenExpiresIn: 7d

cfs — Cloud File Storage | 云文件存储

cfs — 云文件存储

yaml
cfs:
  store: local    # ⚠️ MUST be one of: local | aliyun | aws | steedosCloud

  local:
    folder: ${STEEDOS_STORAGE_DIR}

  aliyun:
    region: ${STEEDOS_CFS_ALIYUN_REGION}
    bucket: ${STEEDOS_CFS_ALIYUN_BUCKET}
    accessKeyId: ${STEEDOS_CFS_ALIYUN_ACCESSKEYID}
    secretAccessKey: ${STEEDOS_CFS_ALIYUN_SECRETACCESSKEY}

  aws:
    region: ${STEEDOS_CFS_AWS_S3_REGION}
    endpoint: ${STEEDOS_CFS_AWS_S3_ENDPOINT}
    bucket: ${STEEDOS_CFS_AWS_S3_BUCKET}
    accessKeyId: ${STEEDOS_CFS_AWS_S3_ACCESS_KEY_ID}
    secretAccessKey: ${STEEDOS_CFS_AWS_S3_SECRET_ACCESS_KEY}
yaml
cfs:
  store: local    # ⚠️ 必须为以下值之一:local | aliyun | aws | steedosCloud

  local:
    folder: ${STEEDOS_STORAGE_DIR}

  aliyun:
    region: ${STEEDOS_CFS_ALIYUN_REGION}
    bucket: ${STEEDOS_CFS_ALIYUN_BUCKET}
    accessKeyId: ${STEEDOS_CFS_ALIYUN_ACCESSKEYID}
    secretAccessKey: ${STEEDOS_CFS_ALIYUN_SECRETACCESSKEY}

  aws:
    region: ${STEEDOS_CFS_AWS_S3_REGION}
    endpoint: ${STEEDOS_CFS_AWS_S3_ENDPOINT}
    bucket: ${STEEDOS_CFS_AWS_S3_BUCKET}
    accessKeyId: ${STEEDOS_CFS_AWS_S3_ACCESS_KEY_ID}
    secretAccessKey: ${STEEDOS_CFS_AWS_S3_SECRET_ACCESS_KEY}

email — 邮件配置

email — 邮件配置

yaml
email:
  from: ${STEEDOS_EMAIL_FROM}
  host: ${STEEDOS_EMAIL_HOST}
  port: ${STEEDOS_EMAIL_PORT}
  username: ${STEEDOS_EMAIL_USERNAME}
  password: ${STEEDOS_EMAIL_PASSWORD}
yaml
email:
  from: ${STEEDOS_EMAIL_FROM}
  host: ${STEEDOS_EMAIL_HOST}
  port: ${STEEDOS_EMAIL_PORT}
  username: ${STEEDOS_EMAIL_USERNAME}
  password: ${STEEDOS_EMAIL_PASSWORD}

sso.oidc — SSO/OIDC 单点登录

sso.oidc — SSO/OIDC 单点登录

yaml
sso:
  oidc:
    config_url: ${STEEDOS_IDENTITY_OIDC_CONFIG_URL}
    client_id: ${STEEDOS_IDENTITY_OIDC_CLIENT_ID}
    client_secret: ${STEEDOS_IDENTITY_OIDC_CLIENT_SECRET}
    name: ${STEEDOS_IDENTITY_OIDC_NAME}
    label: ${STEEDOS_IDENTITY_OIDC_LABEL}
yaml
sso:
  oidc:
    config_url: ${STEEDOS_IDENTITY_OIDC_CONFIG_URL}
    client_id: ${STEEDOS_IDENTITY_OIDC_CLIENT_ID}
    client_secret: ${STEEDOS_IDENTITY_OIDC_CLIENT_SECRET}
    name: ${STEEDOS_IDENTITY_OIDC_NAME}
    label: ${STEEDOS_IDENTITY_OIDC_LABEL}

public — 公共设置 (exposed to frontend)

public — 公共设置(暴露给前端)

yaml
public:
  NODE_ENV: ${NODE_ENV}
  cfs:
    store: ${STEEDOS_CFS_STORE}
  amis:
    map_ak: ${STEEDOS_AMIS_MAP_KEY}
    map_vendor: ${STEEDOS_AMIS_MAP_VENDER}
  analytics:
    enabled: ${STEEDOS_PUBLIC_ANALYTICS_ENABLED}
    posthog:
      id: ${STEEDOS_PUBLIC_ANALYTICS_POSTHOG_ID}
      api_host: ${STEEDOS_PUBLIC_ANALYTICS_POSTHOG_API_HOST}
yaml
public:
  NODE_ENV: ${NODE_ENV}
  cfs:
    store: ${STEEDOS_CFS_STORE}
  amis:
    map_ak: ${STEEDOS_AMIS_MAP_KEY}
    map_vendor: ${STEEDOS_AMIS_MAP_VENDER}
  analytics:
    enabled: ${STEEDOS_PUBLIC_ANALYTICS_ENABLED}
    posthog:
      id: ${STEEDOS_PUBLIC_ANALYTICS_POSTHOG_ID}
      api_host: ${STEEDOS_PUBLIC_ANALYTICS_POSTHOG_API_HOST}

cron — 定时任务

cron — 定时任务

yaml
cron:
  enabled: ${STEEDOS_CRON_ENABLED}
  mailqueue_interval: ${STEEDOS_CRON_MAILQUEUE_INTERVAL}
  push_interval: ${STEEDOS_CRON_PUSH_INTERVAL}
  workflow_rule_interval: ${STEEDOS_CRON_WORKFLOW_RULE}
yaml
cron:
  enabled: ${STEEDOS_CRON_ENABLED}
  mailqueue_interval: ${STEEDOS_CRON_MAILQUEUE_INTERVAL}
  push_interval: ${STEEDOS_CRON_PUSH_INTERVAL}
  workflow_rule_interval: ${STEEDOS_CRON_WORKFLOW_RULE}

Environment Variable Interpolation | 环境变量插值

环境变量插值

YAML values use
${VAR_NAME}
syntax. The config loader replaces these with
process.env
values at load time. Keys starting with
enable_
are automatically converted to booleans.
yaml
undefined
YAML 值使用
${VAR_NAME}
语法。配置加载器会在加载时将这些替换为
process.env
中的值。以
enable_
开头的键会自动转换为布尔值。
yaml
undefined

This:

原配置:

connection: url: ${MONGO_URL}
connection: url: ${MONGO_URL}

Becomes (if MONGO_URL=mongodb://localhost:27017/steedos):

替换后(若 MONGO_URL=mongodb://localhost:27017/steedos):

connection: url: mongodb://localhost:27017/steedos
undefined
connection: url: mongodb://localhost:27017/steedos
undefined