1. 安装部署
  2. 参数配置

steedos-config.yml 用于配置系统参数,位于项目的根目录。

必须环境变量

PORT=5000
ROOT_URL=http://localhost:5000
TRANSPORTER=redis://127.0.0.1:6379
CACHER=redis://127.0.0.1:6379/1
MONGO_URL=mongodb://127.0.0.1:27017/steedos

[metadata]
METADATA_SERVER=http://localhost:5000
METADATA_APIKEY=#会自动填充为初始界面中输入的环境变量值

[steedos-cloud]
STEEDOS_CLOUD_SPACE_ID=#会自动填充为初始界面中输入的环境变量值
STEEDOS_CLOUD_API_KEY=#会自动填充为初始界面中输入的环境变量值
  • PORT:服务占用端口
  • ROOT_URL:服务访问地址
  • TRANSPORTER:Redis缓存地址
  • CACHER:Redis缓存频道
  • MONGO_URL:MongoDB数据库地址
  • METADATA_SERVER:元数据同步服务地址
  • METADATA_APIKEY:元数据同步时用于验证身份的APIKEY
  • STEEDOS_CLOUD_SPACE_ID:华炎魔方ID
  • STEEDOS_CLOUD_API_KEY:验证华炎魔方ID身份的APIKEY

如果Redis配置了密码,请按以下格式配置相关环境变量连接Redis服务:

TRANSPORTER=redis://a:123456@192.168.0.95:6379
CACHER=redis://a:123456@192.168.0.95:6379/1

以上Redis环境变量配置假设要连接的Redis服务地址为192.168.0.95,密码为123456。

请注意,最新版本的华炎魔方需要把ROOT_URL配置为像下面这种本地IP地址或外网域名才能被其他电脑正常访问,否则在列表视图界面会显示“未找到符合查询条件的集合”这种空列表。

ROOT_URL=http://192.168.0.95:5000

另外ROOT_URL地址也不应该以符号/结尾,比如配置为 http://192.168.0.95:5000/https://xxx.steedos.cn/ 是错的。

登录界面配置

配置登录界面相关参数,例如是否允许注册、是否允许修改密码、是否允许创建企业。

tenant:
  _id: ${STEEDOS_CLOUD_SPACE_ID}
  name: 华炎魔方
  logo_url: ${STEEDOS_CLOUD_LOGO_URL}
  logo_square_url: ${STEEDOS_CLOUD_LOGO_SQUARE_URL}
  background_url:
  enable_register: ${STEEDOS_TENANT_CONFIG_ENABLE_REGISTER} # 启用注册功能 true / false
  enable_forget_password: false
  enable_create_tenant: false
  enable_password_login: true
  enable_bind_email: false
  enable_bind_mobile: false
  enable_email_code_login: false
  enable_mobile_code_login: false
  • enable_register: 允许创建账户,默认true
  • enable_forget_password:允许密码密码,设置为true时将显示找回密码链接用于找回密码,默认false。
  • enable_create_tenant: 允许创建企业,默认true
  • enable_password_login: 允许使用密码登录,启用时,注册和登录都默认使用密码。默认true
  • enable_bind_email: 强制绑定邮箱,默认false
  • enable_bind_mobile: 强制绑定手机号,默认false
  • enable_email_code_login: 允许使用邮箱验证码登录,启用时,注册和登录都默认使用验证码。
  • enable_mobile_code_login: 允许使用手机验证码登录,启用时,注册和登录都默认使用验证码。

账户相关

配置账户相关参数。

accounts:
  mobile_phone_locales: ['zh-CN']
  mobile_regexp: '^[0-9]{11}$'
  • mobile_phone_locales: 手机号本地化,配置为zh-CN表示使用中国的11位手机号,要支持其他国家手机号请参考 validator
  • mobile_regexp: 手机号格式正则表达式,使用一个正则表达式来描述正确的手机号格式。
当同时配置了`mobile_phone_locales`和`mobile_regexp`参数时,优先使用`mobile_phone_locales`。
public:
  accounts:
    is_username_skip_minrequiredlength: true
    UTF8_Names_Validation: '[A-Za-z0-9-_.\u00C0-\u017F\u4e00-\u9fa5]'
  • is_username_skip_minrequiredlength:是否跳过用户名最小位数限制,默认最小为6位。
  • UTF8_Names_Validation: 用户名规则正则表达式。

web服务url

services:
  steedos: /

文件存储

配置附件存储的相关参数。

附件可以保存在本地,也可以保存在阿里云或是AWS S3服务中。

public:
  cfs:
    storage: local
cfs:
  local:
    folder: /storage
  aliyun:
    region:
    internal: false,
    bucket:
    folder:
    accessKeyId:
    secretAccessKey:
  aws:
    region:
    bucket:
    folder:
    accessKeyId:
    secretAccessKey: 

邮件配置

配置SMTP服务的相关参数,用于系统发送推送邮件。

email:
  host:
  port: 465
  username:
  password:
  secure: true
  from: 

发送短信配置

配置手机短信服务,用于通过手机短信登录和接受账户提醒消息。

sms:
  qcloud:
    smsqueue_interval: 1000
    sdkappid:
    appkey:
    signname: 

密码规则配置

密码的复杂度是通过password.policy 属性来控制的,值为正则表达式。

public:
  password:
    policy: ^[A-Za-z0-9]{8,}$
    policyerror: "密码不能少于8位"

字段索引配置

可以为字段配置 字段索引 以提升数据库中的记录查询速度。

系统会在创建索引的定时程序中为配置了字段索引的字段创建索引,默认是每小时检测一次未创建索引的字段并为其创建好索引。

可以在定时任务配置中修改检测创建字段索引的频率,以下配置是默认的按每小时的频率来检测创建字段索引,其中频率值是一个 Cron-style Scheduling

cron:
  build_index: "0 0 * * * *"

执行字段索引定时程序时只会为未创建过索引的字段创建索引,已存在的索引不会重复创建。

定时任务配置

配置定时任务的属性。

cron:
  build_index: "0 0 * * * *"
  statistics: "0 0 0 * * *"
  mailqueue_interval: 1000
  push_interval: 1000
  calendar_dav_interval: 30000
  calendar_remind: 60000
  webhookqueue_interval: 1000
  instancerecordqueue_interval: 10000
  objectwebhooksqueue_interval: 10000
  • build_index: 创建数据库索引的执行时间,如上面的“0 0 * * * *”意为每小时为数据库执行一次创建索引操作,已存在的索引不会重复创建。
  • statistics: 流程统计的执行时间,如上面的“0 0 0 * * *”意为每天的00:00:00
  • mailqueue_interval: 邮件队列的轮询间隔(单位毫秒)
  • push_interval: 消息推送的轮询间隔(单位毫秒)
  • calendar_dav_interval: 日历同步的轮询间隔(单位毫秒)
  • calendar_remind: 日程提醒的轮询间隔(单位毫秒)
  • webhookqueue_interval: 流程触发器队列的轮询间隔(单位毫秒)
  • instancerecordqueue_interval: 对象流程队列的轮询间隔(单位毫秒)
  • objectwebhooksqueue_interval: 对象触发器队列的轮询间隔(单位毫秒)