在项目根目录下的 .env
文件里设置环境变量,修改环境变量之后需要 kill 应用进程,重新启动。
修改 docker-compose.yml
配置,在 enviroment
参数里设置环境变量。示例:
也可以使用 env_file
,即可在 .env
文件中设置环境变量。示例:
修改环境变量之后,需要重建 app 容器。
用于设置应用的时区,默认为操作系统时区。
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
与时间相关的操作会依据该时区进行处理,修改 TZ 可能会影响数据库里的日期值。
应用环境,默认值 development
,可选项包括:
production
生产环境development
开发环境APP_ENV=production 时,如果没有设置LOGGER_FORMAT,默认json格式。如果没有设置LOGGER_LEVEL,默认info级别。
应用的密钥,用于生成用户 token 等,修改为自己的应用密钥,并确保不对外泄露
如果 APP_KEY 修改了,旧的 token 也会随之失效
应用端口,默认值 3000
tachybase API 地址前缀,默认值 /api/
本地存储路径,默认值 storage/uploads
插件包名前缀,默认为:@tachybase/plugin-,@tachybase/preset-,@tachybase/module-,@hera/plugin-,@hera/module-
。
例如,添加 hello
插件到 my-tachybase-app
项目,插件的完整包名则为 @my-tachybase-app/plugin-hello
。
PLUGIN_PACKAGE_PREFIX 可以配置为:
则插件名称和包名对应关系如下:
users
插件的包名为 @tachybase/module-users
tachybase
插件的包名为 @tachybase/preset-tachybase
hello
插件的包名为 @my-tachybase-app/plugin-hello
数据库类型,默认值 sqlite
,可选项包括:
sqlite
mariadb
mysql
postgres
推荐使用postgres数据库,部分数据库在特定插件下可能不支持
数据库文件路径(使用 SQLite 数据库时配置)
数据库主机(使用 MySQL 或 PostgreSQL 数据库时需要配置)
默认值 localhost
数据库端口(使用 MySQL 或 PostgreSQL 数据库时需要配置)
数据库名(使用 MySQL 或 PostgreSQL 数据库时需要配置)
数据库用户(使用 MySQL 或 PostgreSQL 数据库时需要配置)
数据库密码(使用 MySQL 或 PostgreSQL 数据库时需要配置)
数据表前缀
数据库表名、字段名是否转为 snake case 风格,默认为 false
。如果使用 MySQL(MariaDB)数据库,并且 lower_case_table_names=1
,则 DB_UNDERSCORED 必须为 true
当 DB_UNDERSCORED=true
时,数据库实际的表名和字段名与界面所见的并不一致,如 orderDetails
数据库里的是 order_details
数据库日志开关,默认值 off
,可选项包括:
on
打开off
关闭日志输出方式,多个用 ,
分隔。开发环境默认值 console
,生产环境默认值 console,dailyRotateFile
.
可选项:
console
- console.log
file
- 文件
dailyRotateFile
- 按天滚动文件
基于文件的日志存储路径,默认为 storage/logs
。
输出日志级别,开发环境默认值 debug
,生产环境默认值 info
. 可选项:
error
warn
info
debug
trace
数据库日志输出级别为 debug
,由 DB_LOGGING
控制是否输出,不受 LOGGER_LEVEL
影响。
最大保留日志文件数。
LOGGER_TRANSPORT
为 file
时,默认值为 10
.LOGGER_TRANSPORT
为 dailyRotateFile
,使用 [n]d
代表天数。默认值为 14d
.按大小滚动日志。
LOGGER_TRANSPORT
为 file
时,单位为 byte
,默认值为 20971520 (20 * 1024 * 1024)
.LOGGER_TRANSPORT
为 dailyRotateFile
,可以使用 [n]k
,[n]m
,[n]g
. 默认不配置。日志打印格式,开发环境默认 console
,生产环境默认 json
. 可选项:
console
json
logfmt
delimiter
使用缓存方式的唯一标识,指定服务端默认缓存方式,默认值 memory
,内置可选项:
memory
redis
内存缓存项目最大个数,默认值 2000
。
Redis连接,可选。示例:redis://localhost:6379
加密字段的加密密钥,32位字符串,默认为12345678901234567890123456789012。
工作进程数,默认值 1
。
工作进程最大数,默认值 8
。现在在网页上控制输入的线程数不能超过这个值。
工作进程处理事务最大超时时间(秒),默认值 1800
。
工作进程启动失败重试次数,默认值 5
。
子应用工作进程数,为防止开启多个子应用占用资源,默认值 0
。
导出表格最大长度,默认值 2000
。
使用工作线程导出表格的每页大小,默认值 1000
。
内置插件的启用关闭,默认值为空。
名称前加!表示移除指定插件 名称前加|表示添加指定插件但默认禁用
推荐通过界面配置,会保存到数据库中,不建议通过环境变量配置。
本地插件的启用关闭,默认值为空。
名称前加!表示移除指定插件 名称前加|表示添加指定插件但默认禁用
推荐通过界面配置,会保存到数据库中,不建议通过环境变量配置。
强制使用缓存的语言包,开启后在本地开发环境可以针对getLang接口缓存请求,返回302状态码, 不推荐开启. 默认值 0
。
临时环境变量只在特定场合(安装)中生效,安装后不影响运行
安装 tachybase 时,可以通过设置临时的环境变量来辅助安装,如:
安装时的语言,默认值 en-US
,可选项包括:
en-US
zh-CN
Root 用户邮箱
Root 用户密码
Root 用户昵称