新闻详情

新闻详情

首页 / 资讯中心 / 详情

ToolJet 环境变量完全指南:Server、Client 与 PostgREST 的配置详解

发布时间:2026/9/11 13:05:25来源:尧图网络
ToolJet 环境变量完全指南:Server、Client 与 PostgREST 的配置详解
ToolJet 环境变量完全指南Server、Client 与 PostgREST 的配置详解【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet 是一个开源的低代码应用构建平台其服务端server与前端客户端client在启动时都依赖一组环境变量来获得正确的运行参数。本文以 docs/docs/setup/env-vars.md 为骨架系统梳理 ToolJet 全部环境变量的含义、默认值与配置要点并结合仓库中的 .env.example、deploy/docker/.env.internal.example 以及服务端源码server/src解释这些变量在底层是如何被消费的。读完本文你将能独立完成一次自托管 ToolJet 的完整环境配置并理解每个必填变量缺失时会产生的影响。环境变量文件从哪来仓库根目录提供了 .env.example其头部注释明确说明Create .env from this example file and replace values for the environment.即把.env.example复制为.env后再逐项填写真实值即可。该示例文件同时提示测试环境需要单独的.env.test。此外Docker 部署场景还提供了两份精简示例deploy/docker/.env.internal.example内部部署internal模式PG 主机等指向 docker-compose 内部服务名deploy/docker/.env.external.example外部数据库接入模式。在 docker-compose 场景下还需注意.env.example中的说明如需 Enterprise Edition应在执行docker-compose up前设置TOOLJET_EDITIONee默认ce。ToolJet Server 必填环境变量服务端要能正常启动并对外提供服务以下四组变量缺一不可。TOOLJET_HOST必填变量描述TOOLJET_HOSTToolJet 客户端的公网地址例如https://app.tooljet.com该变量被广泛用于服务端生成跳转链接、邮件链接与 API 响应。从源码可以看到它在多个关键位置被读取server/src/helpers/utils.helper.ts 中的getTooljetHost()会回退到process.env.TOOLJET_HOST并据此判断当前部署是否使用 HTTPSTOOLJET_HOST.startsWith(https)用于 Cookie 的 secure 标记判定server/src/modules/email/service.ts 则用它拼接邮件中的 ToolJet 地址会先剥离末尾斜杠。LOCKBOX_MASTER_KEY必填ToolJet 服务端使用 Lockbox 机制加密数据源datasource凭据需要设置一个32 字节的十六进制字符串作为LOCKBOX_MASTER_KEY。底层实现在 server/src/modules/encryption/service.ts加密使用aes-256-gcmnonce 12 字节、附带 16 字节 GCM 认证标签而实际的列级密钥通过 HKDF 从LOCKBOX_MASTER_KEY派生#computeAttributeKey哈希算法 sha384每个表/列使用独立的派生密钥——这是从 Ruby on Rails 时代的 Lockbox gem 迁移到 NestJS 时保留的行为。文件头部的注释还特别提醒不要修改该函数的签名因为它被大量数据迁移脚本如 server/data-migrations/1709618105785-EncryptValuesForExistingOrganizationConstants.ts依赖。生成命令openssl rand -hex 32SECRET_KEY_BASE必填服务端使用一个64 字节的十六进制字符串加密会话 Cookie。在 server/src/modules/session/module.ts 中JwtModule.registerAsync将SECRET_KEY_BASE直接作为 JWT 签名密钥secret: config.getstring(SECRET_KEY_BASE)即所有会话 JWT 的签发与校验都依赖该值。更换或丢失它会导致所有已登录用户的会话失效因此应妥善保管且避免在运行期变更。生成命令openssl rand -hex 64PostgreSQL 数据库配置必填ToolJet 服务端使用 PostgreSQL 作为主数据库变量描述PG_HOSTPostgreSQL 主机PG_DB数据库名PG_USER用户名PG_PASS密码PG_PORT端口这些变量在 server/ormconfig.ts 的buildConnectionOptions()中被消费port取data.PG_PORT || 5432默认 5432连接池上限PG_POOL_MAX默认 25并支持ORM_LOGGING控制 TypeORM 日志。两点实用说明docker-compose 场景PG_HOST可直接填postgres服务名由 Docker 内部 DNS 解析连接串方式如果使用连接 URL 且数据库不支持 SSL可用DATABASE_URL并写成postgres://username:passwordhostname:port/database_name?sslmodedisable。源码中dbSslConfig()会在存在DATABASE_URL时自动附加ssl: { rejectUnauthorized: false }。ToolJet Server 可选环境变量禁用数据库与扩展自动创建可选默认情况下 ToolJet 会根据PG_DB自动创建数据库并可能尝试创建 PostgreSQL 扩展如pgcrypto见 server/ormconfig.ts 中的uuidExtension: pgcrypto这要求 PG 用户具备CREATEDB权限。若无法授予该权限可将PG_DB_OWNER设为false关闭自动创建改为手动建库。检查更新与遥测可选变量默认说明CHECK_FOR_UPDATES启用每 24 小时向 ToolJet 服务器请求最新产品更新设为0可关闭DISABLE_TOOLJET_TELEMETRY启用每 24 小时上报用户计数设为true可关闭对应实现位于 server/src/modules/meta/service.ts更新检查与实例设置常量定义 server/src/modules/instance-settings/constants/index.ts。评论功能开关可选| 变量 | 值 | | ---- | -- | | COMMENT_FEATURE_ENABLE |true或false|控制画布上是否允许添加评论。配置前提是先在设置中启用多人实时编辑multiplayer editing对应 .env.example 中的ENABLE_MULTIPLAYER_EDITINGtrue。Marketplace 插件开发模式可选| 变量 | 值 | | ---- | -- | | ENABLE_MARKETPLACE_DEV_MODE |true或false|开启后允许开发者构建开发调试Marketplace 插件。用户会话过期时间可选变量描述USER_SESSION_EXPIRY会话过期时间单位为分钟默认 10 天。例如设为120即 2 小时server/src/modules/session/util.service.ts 中通过configService.get(USER_SESSION_EXPIRY)读取该值并换算成过期时刻乘以60 * 1000毫秒写入会话。示例 deploy/docker/.env.internal.example 中给出参考值28802 天。ToolJet 数据库必填ToolJet Database 是内置的数据存储能力通过 PostgREST 对外提供 REST API其连接参数如下变量说明TOOLJET_DB数据库名默认值tooljet_dbTOOLJET_DB_HOST数据库主机TOOLJET_DB_USER数据库用户名TOOLJET_DB_PASS数据库密码TOOLJET_DB_PORT数据库端口PGRST_JWT_SECRETPostgREST 用于校验 JWT 的密钥PGRST_HOSTPostgREST 主机PGRST_DB_PRE_CONFIG对应postgrest.pre_config默认值见 .env.example要点在所有生产部署方案中TOOLJET_DB指定的库名会在服务端启动时被用来创建新数据库也可手动执行npm run db:create在 ToolJet server 目录下与主库类似支持连接串变量TOOLJET_DB_URL格式postgres://username:passwordhostname:port/database_name?sslmodedisable底层连接同样定义于 server/ormconfig.ts 的buildToolJetDbConnectionOptions()其中TOOLJET_DB_PORT默认 5432连接池TOOLJET_DB_PG_POOL_MAX默认 25并可通过TOOLJET_DB_STATEMENT_TIMEOUT默认 60000ms控制语句超时。SERVER_HOST可选当后端API 服务部署在独立服务器时可在此指定主机名作为反向代理目标不设置时默认值为server。HIDE_ACCOUNT_SETUP_LINK可选设为true时管理员在用户管理页面将看不到“账户设置”链接。前提是已配置 SMTP以便新用户能收到欢迎邮件。DISABLE_SIGNUPS可选设为true可关闭公开注册仅允许通过邀请加入新用户。注意注册页面仍会展示只是无法成功提交表单。该开关仅在多工作区Multi-Workspace特性启用时生效见 .env.example 注释。服务端由 server/src/modules/onboarding/guards/signup-disable.guard.ts 在注册流程中强制执行。SERVE_CLIENT 与 SUB_PATH可选SERVE_CLIENT默认未设置服务端会在/端点托管前端客户端设为false可关闭该行为此时前端需单独构建部署SUB_PATH当 ToolJet 部署在域名子路径时设置必须带尾部/且仅在服务端托管前端时生效。服务端对SERVE_CLIENT的消费可见于 server/src/helpers/utils.helper.ts生产环境下TOOLJET_SERVER_URL缺省时按SERVE_CLIENT ! false回退前端构建侧则见 frontend/src/index.ejs 中对SERVE_CLIENT ! false的判断。SMTP 邮件配置可选ToolJet 使用 SMTP 发送邮件例如向工作区添加新用户时的邀请邮件。Enterprise Editionv2.62.0 起必须在 UI 中配置 SMTP见 docs/docs/setup/env-vars.md 说明.env中的 SMTP 变量不再被读取从 v2.62.0 之前升级时旧变量会自动映射到 UI 配置中确认无误后可从.env移除Community Edition继续使用以下环境变量变量描述DEFAULT_FROM_EMAIL发件邮箱示例默认hellotooljet.ioSMTP_USERNAME用户名SMTP_PASSWORD密码SMTP_DOMAIN域名或主机SMTP_PORT端口Slack 与 Google OAuth可选若需以 Slack 作为数据源需创建 Slack App 并配置变量描述SLACK_CLIENT_IDSlack App 的 client idSLACK_CLIENT_SECRETSlack App 的 client secret若需访问 Google Sheets 等数据源需在 Google Cloud Console 创建 OAuth 凭据变量描述GOOGLE_CLIENT_IDclient idGOOGLE_CLIENT_SECRETclient secretGoogle Maps可选若需要使用Maps组件需创建 Google Maps API key变量描述GOOGLE_MAPS_API_KEYGoogle Maps API key可观测性APM 与 Sentry可选变量描述APM_VENDOR应用性能监控厂商目前支持sentrySENTRY_DNSSentry DSN用于将事件上报到对应项目SENTRY_DEBUG是否打印 Sentry 日志true/false默认falseRELEASE_VERSION设置后支持按 release 分组的 APM 提供商会跟踪该版本TOOLJET_SERVER_URL服务端 URL如https://server.tooljet.com用于 CSP 头与 APM trace 信息NODE_EXTRA_CA_CERTS可选当需要信任自定义 CA 以建立 HTTPS 连接时配置该变量指向 PEM 格式的 CA 证书文件绝对路径如/ToolJet/ca/cert.pem。文件需为 PEM 格式可包含多个证书。密码重试限制可选默认密码最大重试次数为 5超过后账户将被锁定变量描述DISABLE_PASSWORD_RETRY_LIMITtrue时关闭重试次数检查无限制PASSWORD_RETRY_LIMIT自定义重试上限默认 5实例级 SSO可选变量描述SSO_GOOGLE_OAUTH2_CLIENT_IDGoogle OAuth client idSSO_GIT_OAUTH2_CLIENT_IDGitHub OAuth client idSSO_GIT_OAUTH2_CLIENT_SECRETGitHub OAuth client secretSSO_GIT_OAUTH2_HOST自托管 GitHub 时的 OAuth 主机名SSO_ACCEPTED_DOMAINS支持 SSO 认证的邮箱域名逗号分隔SSO_DISABLE_SIGNUPS认证用户不存在时禁止其注册FORWARD_RESTAPI_COOKIES可选默认服务端不会在 REST API 请求中转发 Cookie设为true可开启。该选项仅自托管版本可用。ToolJet Client 环境变量当前端客户端单独构建部署时需要以下变量TOOLJET_SERVER_URL按需必填变量描述TOOLJET_SERVER_URLToolJet 服务端 URL如https://server.tooljet.comfrontend/src/index.jsx 中会读取运行时注入的window.public_config.TOOLJET_SERVER_URL来确定后端地址因此前端单独部署时必须正确注入该值。TOOLJET_SERVER_PORT可选用于本地开发设置后服务端地址将变为http://localhost:TOOLJET_SERVER_PORT例如3000。ASSET_PATH按需必填当客户端静态资源需要从其他位置如 CDN加载时设置。可以是绝对路径也可以是相对主 HTML 文件的相对路径例如https://app.tooljet.ai/。SERVE_CLIENT可选默认构建产物设计为随 ToolJet 服务端一同托管若客户端单独使用需将SERVE_CLIENT设为false。PostgREST Server必填PostgREST 是 ToolJet Database 的 REST API 网关其必填变量变量描述PGRST_JWT_SECRET用于校验客户端 JWT 的密钥PGRST_DB_URIToolJet 数据库连接串PGRST_LOG_LEVEL日志级别通常为info两点硬性要求PGRST_JWT_SECRET可用openssl rand -hex 32生成若未指定PostgREST 将拒绝所有认证请求PGRST_DB_URI必须使用格式postgres://[USERNAME]:[PASSWORD][HOST]:[PORT]/[DATABASE]。如需调整 PostgREST 的其他行为可参考其官方配置文档PostgREST configuration。审计日志文件路径可选变量描述LOG_FILE_PATH审计日志落盘路径例如tooljet/log/tooljet-audit.log设置后每次产生新的审计日志都会追加写入该文件对应后端审计日志模块的落盘能力。ToolJet Apps 相关变量ENABLE_PRIVATE_APP_EMBED可选默认只允许嵌入公开应用设为true后允许嵌入私有 ToolJet 应用。注意该选项仅从 ToolJet Enterprise Edition 2.8.0 起、Community/云版本 2.10.0 起可用。相关的还有 .env.example 中列出的DISABLE_APP_EMBED设为true时公开与私有应用的嵌入均被禁止与ENABLE_CORS前端与后端分离部署时设为true。配置默认语言可选通过LANGUAGE变量可设置 ToolJet 的默认语言变量描述LANGUAGE语言代码例如fr支持的语言及代码Englishen、Françaisfr、Españoles、Italianoit、Bahasa Indonesiaid、Українськаuk、Русскийru、Deutschde。云版本不支持该设置。其他值得关注的变量来自 .env.example除文档主线外仓库根目录 .env.example 还沉淀了一批生产常用变量补充说明如下Workflow/WorkerWORKERtrue启用 BullMQ 任务处理与调度加载TOOLJET_QUEUE_DASH_PASSWORD为工作流面板密码TOOLJET_WORKFLOW_SANDBOX_BYPASStrue可绕过 Python 执行的 nsjail 沙箱仅限 AWS Fargate、Render 等不支持 SYS_ADMIN 能力的平台且会失去代码隔离RedisREDIS_HOST、REDIS_PORT默认 6379、REDIS_USERNAME、REDIS_PASSWORD、REDIS_DB、REDIS_TLSdocker-compose 下REDIS_HOST填服务名redisSCIMSCIM_ENABLED、SCIM_BASIC_AUTH_USER、SCIM_BASIC_AUTH_PASS、SCIM_HEADER_AUTH_TOKEN用于身份供给Git 对象缓存DISABLE_GIT_OBJECT_CACHE、GIT_OBJECT_CACHE_TTL_DAYS默认 14 天、GIT_OBJECT_CACHE_MAX_GB默认 2GB、GIT_OBJECT_CACHE_DIR默认系统临时目录K8s 中建议指向持久卷日志调优TRANSACTION_LOGGING_LEVELdevelopmenttrace / productioninfo / testerror、CUSTOM_QUERY_LOGGING_LEVEL、SLOW_QUERY_LOGGING_THRESHOLD默认 1ms可观测性ENABLE_METRICStrue暴露 Prometheus/metrics端点PATPAT_SESSION_EXPIRY分钟、PAT_EXPIRY天控制个人访问令牌有效期。小结ToolJet 的部署配置可以概括为一句话先满足必填项TOOLJET_HOST、LOCKBOX_MASTER_KEY、SECRET_KEY_BASE、PG 连接、ToolJet DB 与 PostgREST再按需开启可选能力SSO、SMTP、OAuth、可观测性、嵌入与本地化。以仓库 .env.example 为起点复制并逐项填写对照本文的默认值与格式说明即可避免启动期常见问题。若需验证服务端对这些变量的实际消费方式可直接查阅 server/src/modules/encryption/service.ts、server/src/modules/session/module.ts 与 server/ormconfig.ts。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于YOLOv8的道路车流量检测与计数系统实践 2026/9/11 13:47:34

基于YOLOv8的道路车流量检测与计数系统实践

简介:这套道路车流量检测系统基于Python与YOLOv8算法构建,面向交通管理、城市规划及毕业设计等场景,提供从目标检测到车辆计数的完整落地工具。整个资源包共307个文件,包含126个Python脚本、125个编译后的pyc文件、37个YAML配置文…

阅读更多 →
工业大模型IndustryGPT的技术解析与应用实践 2026/9/11 13:47:34

工业大模型IndustryGPT的技术解析与应用实践

1. 工业大模型的崛起与挑战 最近在AI圈里有个话题特别火:一家名为思谋科技的公司推出了IndustryGPT大模型,号称在工业领域能"打败GPT-5.2"。作为一个在工业自动化领域摸爬滚打多年的技术老兵,我第一时间拿到了他们的技术白皮书和案…

阅读更多 →
三步读懂 ggml 的 GGUF 模型格式:从二进制文件到免配置加载 2026/9/11 13:47:34

三步读懂 ggml 的 GGUF 模型格式:从二进制文件到免配置加载

三步读懂 ggml 的 GGUF 模型格式:从二进制文件到免配置加载 【免费下载链接】ggml Tensor library for machine learning 项目地址: https://gitcode.com/GitHub_Trending/gg/ggml 下载模型时,你是否有过这种体验:十几个 .bin 分片、一…

阅读更多 →
Gradio Sidebar 组件深度解析:从 Svelte 前端实现到 Python 布局 2026/9/11 13:47:34

Gradio Sidebar 组件深度解析:从 Svelte 前端实现到 Python 布局

Gradio Sidebar 组件深度解析:从 Svelte 前端实现到 Python 布局 【免费下载链接】gradio Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work! 项目地址: https://gitcode.com/GitHub_Trending/gr/gradi…

阅读更多 →
Claudian:把AI编码助手装进Obsidian,5步跑通第一条对话 2026/9/11 13:47:34

Claudian:把AI编码助手装进Obsidian,5步跑通第一条对话

Claudian:把AI编码助手装进Obsidian,5步跑通第一条对话 【免费下载链接】claudian An Obsidian plugin that embeds Claude Code/Codex as an AI collaborator in your vault 项目地址: https://gitcode.com/GitHub_Trending/cl/claudian Claudia…

阅读更多 →
粒子群算法PSO优化随机森林RFR超参数:MATLAB实现与回归预测实战 2026/9/11 13:44:34

粒子群算法PSO优化随机森林RFR超参数:MATLAB实现与回归预测实战

好的,我需要在搜索结果中找到有价值的信息。粒子群算法PSO优化随机森林RFR回归预测,MATLAB代码,关键是代码注释清楚,能读取EXCEL。搜索到了一些相关内容:粒子群和GWO算法混合改进的随机森林,然后有PSO优化L…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞