Skip to main content

环境变量说明

爱速搭的依赖服务对接,功能开关,license 证书等信息都是通过 docker 环境变量来配置的。

DB 相关

用于配置爱速搭底层数据库,目前仅支持 mysql。可用配置如下:

  • ISUDA_DB_HOST 数据库服务主机地址
  • ISUDA_DB_PORT 数据库服务端口,通常是 3306
  • ISUDA_DB_USER 数据库账号,建议使用 super 账号,具备数据库和用户创建能力,这样才能正常使用爱速搭的内置数据源功能。
  • ISUDA_DB_PASSWORD 账号密码
  • ISUDA_DB_NAME 数据库名称
  • ISUDA_DB_TIMEZONE 数据库时区,支持以下这些格式如:localZ,或者偏移值 +HH:MM 或者 -HH:MM。如 +08:00, 默认值为 local
  • ISUDA_DB_AUTO_PING 开启 auto ping, 数据库连接保活,有些数据库如果在一定时间内没有请求会自动断开连接,为了防止字段断开,可以配置启动 auto ping 功能。
  • ISUDA_DB_PING_INTERVAL 配置 auto ping 的请求间隔,默认是 120s。
  • ISUDA_DB_POOL_LIMIT 最大连接池限制,默认是 50。

示例:

ISUDA_DB_HOST=127.0.0.1
ISUDA_DB_PORT=3306
ISUDA_DB_USER=root
ISUDA_DB_PASSWORD=Q39sTi0i^9
ISUDA_DB_NAME=aisuda
ISUDA_DB_TIMEZONE=+08:00

REDIS 相关

爱速搭依赖redis来存放数据缓存。可用配置如下:

  • ISUDA_REDIS_HOST redis服务主机地址
  • ISUDA_REDIS_PORT redis服务端口,默认是 6379
  • ISUDA_REDIS_PASSWORD redis 服务密码,如果 redis 没有启用密码,此配置请留空。
  • ISUDA_REDIS_PREFIX redis 存储 key 的前缀,默认无前缀。
  • ISUDA_REDIS_DB 数字类型,默认是 0,跟别的应用共用一个 redis 时有用,可以设置别的值与其他应用隔离。功能和 prefix 类似,不过这个数字最大不能超过 15。
  • ISUDA_REDIS_ENABLE_READY_CHECK 启用 redis 就绪检查。在 redis 建立连接后,通过调用 redis 的 INFO 命令来检测服务是否可用。要启用此功能,前提是服务器的 INFO 命令是可用的,且当前用户具备 INFO 命令权限。如果不可用,请不要开启。
  • ISUDA_REDIS_CLUSTER 是否是集群模式,启动集群模式时,ISUDA_REDIS_HOST 的配置格式将变成 ip1:port,ip2:port2127.0.0.1:6379,127.0.0.1:6380。同时 ISUDA_REDIS_PORT 配置将变成无效配置。
  • ISUDA_REDIS_SENTINEL 哨兵模式,启动后,同样通过host配置多节点。注意是要配置哨兵集群的IP+端口,而不是主从节点。
  • ISUDA_REDIS_SENTINEL_PASSWORD 哨兵节点的密码。

示例:

ISUDA_REDIS_HOST=127.0.0.1
ISUDA_REDIS_PORT=6379
ISUDA_REDIS_PASSWORD=123456

集群模式示例

ISUDA_REDIS_HOST=127.0.0.1:6379,127.0.0.1:6380
ISUDA_REDIS_CLUSTER=1
ISUDA_REDIS_PASSWORD=123456

Redis 分布式锁

爱速搭内部后台任务依赖 redis 分布式锁,简称 redlock,用来保证一个任务,不会被分配到多个 pod,同时执行。

默认 redlock 直接使用上述 redis 的配置,如果想单独配置,则有以下这些配置:

  • ISUDA_LOCKER_REDIS_HOST redis服务主机地址
  • ISUDA_LOCKER_REDIS_PORT redis服务端口,默认是 6379
  • ISUDA_LOCKER_REDIS_PASSWORD redis 服务密码,如果 redis 没有启用密码,此配置请留空。
  • ISUDA_REDIS_PREFIX redis 存储 key 的前缀,默认无前缀。
  • ISUDA_LOCKER_REDIS_PREFIX 数字类型,默认是 0,跟别的应用共用一个 redis 时有用,可以设置别的值与其他应用隔离。
  • ISUDA_LOCKER_REDIS_ENABLE_READY_CHECK 启用 redis 就绪检查。在 redis 建立连接后,通过调用 redis 的 INFO 命令来检测服务是否可用。要启用此功能,前提是服务器的 INFO 命令是可用的,且当前用户具备 INFO 命令权限。如果不可用,请不要开启。
  • ISUDA_LOCKER_REDIS_CLUSTER 是否是集群模式,启动集群模式时,ISUDA_LOCKER_REDIS_HOST 的配置格式将变成 ip1:port,ip2:port2127.0.0.1:6379,127.0.0.1:6380。同时 ISUDA_LOCKER_REDIS_PORT 配置将变成无效配置。
  • ISUDA_LOCKER_REDIS_SENTINEL 哨兵模式,启动后,同样通过host配置多节点。注意是要配置哨兵集群的IP+端口,而不是主从节点。

秘钥

用于数据敏感字段加解密

  • ISUDA_ENCRYPT_KEY 配置一段长度为 64 的字符串。有默认值,但是建议初次安装的时候一定要设置。
  • ISUDA_HASHID_SALT hash id 的盐。

注意:这个一旦设置了是不能轻易修改的。修改了,存量数据会存在解密失败。

平台基本设置

  • ISUDA_SITE_NAME 站点名称,默认是 爱速搭
  • ISUDA_LOGO logo 图片地址,用于定制平台 logo
  • ISUA_LOGIN_BACKGROUND 背景图片地址,用于定制登录页背景图。
  • ISUDA_CONTEXT_PATH 默认相当于 / 如果想跟别的站点公用一个域名,可以考虑配置成 /any/sub/path 来让爱速搭在子目录访问。
  • ISUDA_DOC_LINK 爱速搭文档地址,默认是 /aisuda-docs 如果想修改文档主入口地址,请配置此属性
  • ISUDA_PLATFORM_ADMINISTRATORS 平台超管列表,多个用户请用逗号隔开如:xxx1@xx.com,xxx2@xx.com 通过设置邮箱地址指定。
  • ISUDA_LICENSE 爱速搭证书

npm 镜像

爱速搭中具备组件扩展能力,可以使用 npm 包来扩展爱速搭能力。默认爱速搭使用的国内镜像,如果贵公司内部有私服,建议改成内部私服。

  • NPM_REGISTRY 默认为 https://registry.npmmirror.com
  • NPM_SEARCH 默认为 https://www.npmjs.com/search/suggestions

其中 NPM_SEARCH 主要用于第三方组件下拉框的自动完成。

登录相关

请前往:自定义登录方式

邮件服务

邮件发送默认走的是 linux 的 sendmail 命令,但是 sendmail 发送邮件不稳定。建议通过配置 smtp 账号发送。

  • ISUDA_EMAIL_HOST 邮箱服务器地址
  • ISUDA_EMAIL_PORT 邮箱服务器端口,默认为 587
  • ISUDA_EMAIL_SECURE 是否启用 ssl,
  • ISUDA_EMAIL_SSLV3 启用 SSLV3 协议。
  • ISUDA_EMAIL_USER 账号
  • ISUDA_EMAIL_PASS 密码
  • ISUDA_EMAIL_FROM 邮件发件人,默认为 no-reply@baidu.com

示例

ISUDA_EMAIL_HOST=smtp.163.com
ISUDA_EMAIL_PORT=465
ISUDA_EMAIL_SECURE=1
ISUDA_EMAIL_USER=xxx@163.com
ISUDA_EMAIL_FROM=

除了配置 smtp 账号,也可以通过外部接口来发送邮件,如果配置,则会将邮件转给此接口。

  • ISUDA_EMAIL_API
  • ISUDA_EMAIL_API_PASSWORD

更多内容请前往 邮件服务

短信服务

目前能对接两种服务分别为百度云sms,和腾讯云 sms。

百度云sms配置方式如下:

  • ISUDA_SMS_TYPE 指定为 baidu
  • ISUDA_SMS_ENDPOINT 不用配置,默认为 http://smsv3.bj.baidubce.com
  • ISUDA_SMS_AK 百度云账号的 ak
  • ISUDA_SMS_SK 百度云账号的 sk
  • ISUDA_SMS_TPL 短信模板ID,模板申请成功后自动创建,全局内唯一
  • ISUDA_SMS_SIGN 短信签名ID,签名表申请成功后自动创建,全局内唯一

示例

ISUDA_SMS_TYPE=baidu
ISUDA_SMS_ENDPOINT=http://smsv3.bj.baidubce.com
ISUDA_SMS_AK=xxxxx
ISUDA_SMS_SK=xxxxx
ISUDA_SMS_TPL=sms-tmpl-awKvRY85349
ISUDA_SMS_SIGN=sms-signQxkiwz88470

更多信息请参考:https://cloud.baidu.com/doc/SMS/s/lkijy5wvf

腾讯云sms配置方式如下:

  • ISUDA_SMS_TYPE 指定为 tencent
  • ISUDA_SMS_SECRETID SecretId
  • ISUDA_SMS_SECRETKEY SecretKey,跟 SecretId成对出现,可前往这里获取。
  • ISUDA_SMS_REGION 地域信息,参考: 地域列表
  • ISUDA_SMS_SIGN 短信签名内容,使用 UTF-8 编码,必须填写已审核通过的签名,例如:腾讯云,签名信息可前往 国内短信国际/港澳台短信 的签名管理查看。
  • ISUDA_SMS_SDK_APPID 短信 SdkAppId,在 短信控制台 添加应用后生成的实际 SdkAppId,示例如 1400006666
  • ISUDA_SMS_TPLID 模板 ID,必须填写已审核通过的模板 ID。

示例

ISUDA_SMS_TYPE=tencent
ISUDA_SMS_SECRETID=xxxx
ISUDA_SMS_SECRETKEY=xxx
ISUDA_SMS_REGION=ap-beijing
ISUDA_SMS_SIGN=腾讯云
SmsSdkAppId=1400006666
ISUDA_SMS_TPLID=1234

额外可以针对部分场景配置短信模板,如果没有配置采用通用模板。

  • ISUDA_SMS_VERIFY_TPL 手机验证码模板
  • ISUDA_SMS_EXPIRED_TPL 密码过期提醒模板

外部文件存储服务

默认爱速搭上传文件默认存储在db中。但是 db 存储会有最大 10M 的限制,如果有上传大文件的需求,则需要使用外部服务对象存储。目前爱速搭支持:百度 bos、阿里 oss和 s3。

根据内容又分了三类存储,可以给不同的类型配置不同的存储对象。

  • 文件存储
  • 图片存储
  • 数据存储

不要随意更改这个配置,因为存储方式变了,意味着原来存储的资源可能读取不到了。

文件上传

  • ISUDA_FILE_STORAGE_DRIVER 可选:db,bos,oss,s3。默认为 db。
  • ISUDA_FILE_STORAGE_REGION 对象存储地域,如: bj
  • ISUDA_FILE_STORAGE_BUCKET 对象存储 bucket
  • ISUDA_FILE_STORAGE_AK 对象存储账号 ak
  • ISUDA_FILE_STORAGE_SK 对线存储账号 sk
  • ISUDA_FILE_STORAGE_ENDPOINT 对象存储服务地址
  • ISUDA_FILE_STORAGE_HOST 对象存储访问域名,可以用来配置 cdn 域名。
  • ISUDA_FILE_STORAGE_S3FORCEPATHSTYLE 如果是 s3 协议,可以配置 s3ForcePathStyle 属性

示例

ISUDA_FILE_STORAGE_DRIVER=bos
ISUDA_FILE_STORAGE_REGION=bj
ISUDA_FILE_STORAGE_BUCKET=suda
ISUDA_FILE_STORAGE_AK=xxxxx
ISUDA_FILE_STORAGE_SK=xxxxx
ISUDA_FILE_STORAGE_HOST=https://suda.cdn.bcebos.com

图片存储

  • ISUDA_IMAGE_STORAGE_DRIVER 可选:db,bos,oss,s3。默认为 db。
  • ISUDA_IMAGE_STORAGE_REGION 对象存储地域,如: bj
  • ISUDA_IMAGE_STORAGE_BUCKET 对象存储 bucket
  • ISUDA_IMAGE_STORAGE_AK 对象存储账号 ak
  • ISUDA_IMAGE_STORAGE_SK 对线存储账号 sk
  • ISUDA_IMAGE_STORAGE_ENDPOINT 对象存储服务地址
  • ISUDA_IMAGE_STORAGE_HOST 对象存储访问域名,可以用来配置 cdn 域名。
  • ISUDA_IMAGE_STORAGE_S3FORCEPATHSTYLE 如果是 s3 协议,可以配置 s3ForcePathStyle 属性

如果没有什么特殊需求,可以跟文件上传配置成一样的。

示例

ISUDA_IMAGE_STORAGE_DRIVER=bos
ISUDA_IMAGE_STORAGE_REGION=bj
ISUDA_IMAGE_STORAGE_BUCKET=suda
ISUDA_IMAGE_STORAGE_AK=xxxxx
ISUDA_IMAGE_STORAGE_SK=xxxxx
ISUDA_IMAGE_STORAGE_HOST=https://suda.cdn.bcebos.com

数据存储

  • ISUDA_DATA_STORAGE_DRIVER 可选:db,bos,oss,s3。默认为 db。
  • ISUDA_DATA_STORAGE_REGION 对象存储地域,如: bj
  • ISUDA_DATA_STORAGE_BUCKET 对象存储 bucket
  • ISUDA_DATA_STORAGE_AK 对象存储账号 ak
  • ISUDA_DATA_STORAGE_SK 对线存储账号 sk
  • ISUDA_DATA_STORAGE_ENDPOINT 对象存储服务地址
  • ISUDA_DATA_STORAGE_HOST 对象存储访问域名,可以用来配置 cdn 域名。
  • ISUDA_DATA_STORAGE_S3FORCEPATHSTYLE 如果是 s3 协议,可以配置

与上面两个不同的是,这个对象存储是不需要设置成公共读的。主要用来给平台存储一些大数据。比如页面配置 schema。只有在开启 ISUDA_USE_EXTERNAL_STORAGE_FOR_DB_BIG_DATA 时才会用到。

可以配置爱速搭 session 所使用的 cookie。

  • ISUDA_COOKIE_ID 模式是 isudaid
  • ISUDA_COOKIE_DOMAIN 通常不需要配置。
  • ISUDA_COOKIE_MAXAGE cookie 过期时间,默认是一个月。整数格式,单位是毫秒。
  • ISUDA_COOKIE_SAMESITE 可以配置成 'none' 如果想爱速搭被别的站点跨站点使用的时候,不会无限跳转登录页。同时这个功能需要搭配 https 一起使用,也就是说爱速搭服务必须通过 https 访问。

示例

ISUDA_COOKIE_ID=isudaid
ISUDA_COOKIE_DOMAIN=.xxxdomain.com
# 7天
ISUDA_COOKIE_MAXAGE=604800000
ISUDA_COOKIE_SAMESITE=none

ES 服务

爱速搭的日志功能依赖 es 服务,支持 es6和es7。

  • ISUDA_ES_URL es的服务地址
  • ISUDA_ES_CLUSTER 是否为集群模式
  • ISUDA_ES_USERNAME 账号名
  • ISUDA_ES_PASSWORD 账号密码

示例

ISUDA_ES_URL=http://127.0.0.1:8910
ISUDA_ES_USERNAME=admin
ISUDA_ES_PASSWORD=123

配置 ES 记得开启日志记录功能。

  • ISUDA_SITE_LOG_ENABLED 开启站点日志记录
  • ISUDA_SITE_LOG_INDEX 默认是 suda-log-{{date:YYYY-MM}} 按月存储
  • ISUDA_SITE_LOG_SAVE_REQUSET_PAYLOAD 默认为 false,日志默认不会记录请求体内容,如果需要,请开启此配置
  • ISUDA_SQL_LOG_ENABLED 开启数据库请求日志记录,主要针对数据模型
  • ISUDA_SQL_LOG_INDEX 默认是 suda-sql-log-{{date:YYYY-MM}}

应用环境配置

默认爱速搭有一个开发环境,三个运行环境:测试、沙盒和正式。 可以通过以下配置控制这些环境的名称。

  • ISUDA_APPENV_DEV_LABEL 默认是 开发
  • ISUDA_APPENV_QA_LABEL 默认是 测试
  • ISUDA_APPENV_SANDBOX_LABEL 默认是 沙盒
  • ISUDA_APPENV_LATEST_LABEL 默认是 正式

其中 qa 和 sandbox 环境是可以关闭,如果配置成空字符如:

ISUDA_APPENV_QA_LABEL=
ISUDA_APPENV_SANDBOX_LABEL=
ISUDA_APPENV_DEV_LABEL=Dev
ISUDA_APPENV_LATEST_LABEL=Live
  • ISUDA_APPENV_DEV_READONLY 这个可以控制开发环境是只读态,即只能查看不能设计。但是可以导入应用。通常给爱速搭单独部署一个生产环境时使用。

百度AI对接

百度内部组件内置了一些 AI 能力,比如 ocr,图片上传鉴黄等。如果要保证这些功能正常,则需要配置百度 AI 账号

  • ISUDA_BAIDUAI_APPID
  • ISUDA_BAIDUAI_AK
  • ISUDA_BAIDUAI_SK

示例:

ISUDA_BAIDUAI_APPID=21699750
ISUDA_BAIDUAI_AK=xxxxxx
ISUDA_BAIDUAI_SK=xxxxx

页面统计对接

爱速搭可以通过环境变量对接百度统计和谷歌统计。

  • BAIDU_TONGJI_CODE 百度统计的 key
  • GA_MEASUREMENT_ID 谷歌统计的 key

具体操作请前往接入统计

功能开关

  • ISUDA_ENABLE_ENTRY_MANAGE 应用门户管理功能配置 'off' 时可以关闭
  • ISUDA_DISABLE_PROXY_USER_ID 禁止 api proxy 透传用户信息,具体请前往 API 对接文档。
  • ISUDA_DISABLE_EXTERNAL_JS 禁用外链 JS 功能。
  • ISUDA_DISABLE_EXPORT_SENSITIVE_INFO 禁用导出敏感信息
  • ISUDA_USE_EXTERNAL_STORAGE_FOR_DB_BIG_DATA 将内容体比较大东西,存入对象存储,db中只存对象key,提高db性能。
  • ISUDA_DISABLE_CSRF_PROTECT 关闭站点 csrf 保护。
  • AISUDA_TPL_XSS_PROTECT 开启 xss 保护
  • ISUDA_ENABLE_APP_AUTH 开启应用独立认证

第三方集成

第三方服务 api 集成。只有对接私有部署版本时才需要配置。

  • AISUDA_DINGDING_ENDPOINT 钉钉集成地址,默认是 https://oapi.dingtalk.com
  • AISUDA_WEIXIN_ENDPOINT 微信集成地址,默认是 https://qyapi.weixin.qq.com
  • AISUDA_FEISHU_ENDPOINT 飞书集成地址,默认是 https://open.feishu.cn

平台间应用同步

请前往:平台间应用同步