环境变量说明
爱速搭的依赖服务对接,功能开关,license 证书等信息都是通过 docker 环境变量来配置的。
DB 相关
用于配置爱速搭底层数据库,目前仅支持 mysql。可用配置如下:
- ISUDA_DB_HOST 数据库服务主机地址
- ISUDA_DB_PORT 数据库服务端口,通常是 3306
- ISUDA_DB_USER 数据库账号,建议使用 super 账号,具备数据库和用户创建能力,这样才能正常使用爱速搭的内置数据源功能。
- ISUDA_DB_PASSWORD 账号密码
- ISUDA_DB_NAME 数据库名称
- ISUDA_DB_TIMEZONE 数据库时区,支持以下这些格式如:
local
,Z
,或者偏移值+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:port2
如127.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:port2
如127.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
时才会用到。
Cookie
可以配置爱速搭 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
平台间应用同步
请前往:平台间应用同步