ToolJet 快速试用指南:一条 Docker 命令在本地跑起完整版 ToolJet(内置 PostgreSQL 与 AI 能力)
2026/9/13 11:53:11 网站建设 项目流程

ToolJet 快速试用指南:一条 Docker 命令在本地跑起完整版 ToolJet(内置 PostgreSQL 与 AI 能力)

【免费下载链接】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

本指南基于 ToolJet 3.0.0-LTS 官方试用文档,讲解如何用一条docker run命令在本机一键启动 ToolJet:容器内已预装 PostgreSQL、Redis、PostgREST,数据落盘到 Docker 卷,还内置了 ToolJet AI 功能开关。读完本文,你将掌握默认端口启动、动态端口切换、环境变量覆盖、数据持久化与容器生命周期管理等完整的本地试用实操方案。

为什么选择 Try ToolJet 镜像

tooljet/try:ee-lts-latest是 ToolJet 官方为"快速体验"场景准备的专用镜像,它与正式部署镜像(setup/docker.md 中讲解的 Docker Compose 方式)最大的区别在于:所有依赖组件都被打进了同一个容器,你不需要提前准备任何数据库或缓存服务,拉取镜像后即可直接使用。

从仓库中的镜像定义文件 docker/LTS/ee/ee-try-tooljet-lts.Dockerfile 可以看到它的构建思路:

  • 基础镜像直接继承正式版tooljet/tooljet:ee-lts-latest
  • 内置 PostgreSQL 16(含postgresql-client)与 Redis;
  • 复制 PostgREST v12.2.0 可执行文件到/bin,用于将 ToolJet 数据库暴露为 REST API;
  • 安装supervisor作为进程管理器,同时托管 ToolJet 服务、PostgREST 与 Redis 三个进程;
  • 默认开启ENABLE_TOOLJET_DB=true(ToolJet Database 功能)与ENABLE_AI_FEATURES=true(AI 功能)。

也就是说,这个"试用容器"本质是一个开箱即用的全栈环境,非常适合第一次接触 ToolJet 的开发者、做 PoC 验证或者跑本地开发。

快速开始:一条命令启动 ToolJet

在满足 x86(64 位)架构的 Linux 机器上(Windows 请使用 WSL2 或虚拟机,详见 system-requirements.md),执行以下命令即可:

docker run \ --name tooljet \ --restart unless-stopped \ -p 80:80 \ --platform linux/amd64 \ -v tooljet_data:/var/lib/postgresql/13/main \ tooljet/try:ee-lts-latest

启动完成后,浏览器访问http://localhost(或服务器 IP)即可打开 ToolJet 界面。

命令参数逐项拆解

参数作用
--name tooljet为容器命名,后续docker stop/docker start/docker logs等命令都直接使用该名称
--restart unless-stopped容器异常退出时自动重启;只有手动 stop 后才不会拉起
-p 80:80将容器内 80 端口映射到宿主机 80 端口
--platform linux/amd64显式指定 linux/amd64 平台,避免在 Apple Silicon 等 arm64 机器上因平台不匹配导致拉取或运行异常
-v tooljet_data:/var/lib/postgresql/13/main将 PostgreSQL 数据目录挂载为 Docker 命名卷tooljet_data,实现数据持久化

容器启动流程:入口脚本做了什么

镜像的入口脚本 docker/LTS/ee/ee-try-entrypoint-lts.sh 完整展示了容器启动时的初始化链路:

  1. 修改pg_hba.conf,将本地postgres用户与all用户的认证方式改为trust,随后启动 PostgreSQL 服务;
  2. 通过pg_isready轮询等待数据库就绪;
  3. tooljet数据库角色不存在,则创建超级用户tooljet(密码postgres);
  4. 导出默认端口(export PORT=${PORT:-80}),并强制开启ENABLE_AI_FEATURES=true
  5. supervisord启动 ToolJet、PostgREST、Redis 三个进程,日志统一输出到/dev/stdout,因此你可以直接通过docker logs tooljet观察全部服务的运行状态。

试用容器的内部构成与默认配置

镜像在 docker/LTS/ee/ee-try-tooljet-lts.Dockerfile 中通过ENV指令固化了一整套默认值,理解它们有助于你判断需要覆盖哪些变量:

类别默认值说明
服务端口PORT=80TOOLJET_HOST=http://localhostTOOLJET_SERVER_URL=http://localhostToolJet 服务监听端口与对外地址
主数据库PG_DB=tooljet_productionPG_USER=tooljetPG_PASS=postgresPG_HOST=localhostPG_PORT=5432ToolJet 主应用数据库(应用定义、加密后的数据源凭据、用户认证数据)
ToolJet DatabaseTOOLJET_DB=tooljet_dbENABLE_TOOLJET_DB=true可选的内置数据库功能,由 PostgREST 以 REST API 方式对外提供
PostgRESTPGRST_HOST=http://localhost:3000PGRST_DB_URI=postgres://tooljet:postgres@localhost/tooljet_dbPGRST_JWT_SECRET=r9iMKoe5CRMgvJBBtp4HrqN7QiPpUToj用于把 ToolJet 数据库暴露为 REST 接口
RedisREDIS_HOST=localhostREDIS_PORT=6379内置 Redis,供多人在线协作编辑与后台任务使用
功能开关ENABLE_MARKETPLACE_FEATURE=trueENABLE_AI_FEATURES=true市场插件与 AI 功能默认开启
平台标识DEPLOYMENT_PLATFORM=docker:local标记部署来源,用于遥测与平台识别

说明:试用镜像为方便一键体验,内置了固定的LOCKBOX_MASTER_KEYSECRET_KEY_BASE占位值。生产环境请务必使用openssl rand -hex 32openssl rand -hex 64重新生成,这两个变量分别用于加密数据源凭据与会话 Cookie(详见 env-vars.md)。

通过环境变量定制试用环境

容器启动时支持--env(单个变量)与--env-file(变量文件)两种方式传入配置,用于覆盖镜像内置的默认值。例如调整主机地址、数据库名称或功能开关:

docker run \ --name tooljet \ --restart unless-stopped \ -p 80:80 \ --platform linux/amd64 \ -e TOOLJET_HOST=http://192.168.1.100 \ -e USER_SESSION_EXPIRY=120 \ -v tooljet_data:/var/lib/postgresql/13/main \ tooljet/try:ee-lts-latest

完整的环境变量清单可参考 env-vars.md,试用阶段最常用的几个:

  • TOOLJET_HOST:ToolJet 的公开访问地址,必须带http://https://前缀;
  • LOCKBOX_MASTER_KEY:32 字节十六进制字符串,用于加密数据源凭据;
  • SECRET_KEY_BASE:64 字节十六进制字符串,用于加密会话 Cookie;
  • DISABLE_SIGNUPS=true:关闭开放注册,仅允许被邀请用户注册;
  • USER_SESSION_EXPIRY:用户会话过期时间(分钟),默认 10 天;
  • DISABLE_TOOLJET_TELEMETRY=true:关闭默认开启的遥测上报。

动态端口:在指定端口运行 ToolJet

默认情况下容器把 80 端口映射到宿主机 80 端口。若宿主机 80 端口已被占用,或你希望多个实例并存,可通过PORT环境变量切换容器内监听端口,同时调整-p映射:

docker run \ --name tooljet \ --restart unless-stopped \ -p 8080:8080 \ -e PORT=8080 \ --platform linux/amd64 \ -v tooljet_data:/var/lib/postgresql/13/main \ tooljet/try:ee-lts-latest

执行后 ToolJet 服务将监听 8080 端口,浏览器访问http://localhost:8080即可。原理上,入口脚本中的export PORT=${PORT:-80}会读取-e PORT=8080传入的值,supervisord管理的 ToolJet 进程随之在 8080 端口提供服务;宿主机侧的-p 8080:8080则将流量转发进容器。若同时更改宿主机端口,例如映射为-p 3000:8080,也可让容器内 8080 对应宿主机的任意端口。

启用 ToolJet AI 功能:域名白名单

ToolJet AI 功能(AI 智能体、AI 生成应用等)依赖 ToolJet 官方的 AI 网关服务。文档明确要求:

要在 ToolJet 部署中启用 ToolJet AI 功能,请将https://api-gateway.tooljet.ai加入白名单。

这适用于两种场景:

  • 本地试用:如果部署环境存在出站防火墙、代理或网络安全组,需要放行对https://api-gateway.tooljet.ai的 HTTPS 请求;容器内部通过ENABLE_AI_FEATURES=true默认开启 AI 功能(见 docker/LTS/ee/ee-try-entrypoint-lts.sh)。
  • 服务器部署:若在云服务器(如 AWS EC2、GCP)上运行,需在安全组 / 防火墙规则中允许该域名的出站流量,否则 AI 相关能力将不可用。

数据持久化与容器生命周期管理

数据存在哪里

试用容器把 PostgreSQL 的数据目录挂载到了命名卷tooljet_data(即宿主机的/var/lib/postgresql/13/main数据目录)。这意味着:

  • 停止并重新启动容器(docker start tooljet),应用、数据源配置与用户数据全部保留;
  • 即使删除容器(docker rm tooljet),只要卷tooljet_data还在,重新用同样的-v参数创建容器即可恢复数据;
  • 需要备份时,可用docker run --rm -v tooljet_data:/data -v $(pwd):/backup alpine tar czf /backup/tooljet_data.tar.gz -C /data .之类的命令将卷内容打包导出。

常用运维命令

docker stop tooljet # 停止容器(数据保留在卷中) docker start tooljet # 再次启动容器 docker logs -f tooljet # 实时查看 ToolJet / PostgREST / Redis 的运行日志 docker ps # 查看容器状态

由于设置了--restart unless-stopped,容器在 Docker 重启或进程崩溃后会自动拉起;只有执行docker stop才会让它保持停止状态。

从试用走向正式部署

试用镜像适合本地体验与功能验证,若要在生产服务器上长期运行,建议切换到正式部署方式:

  • Docker Compose 部署:官方提供两份生产级编排文件——内置 PostgreSQL 的 docker-compose-db.yaml 与对接外部 PostgreSQL 的 docker-compose.yaml,完整步骤见 setup/docker.md;
  • 系统要求参考:x86 架构 Linux、至少 2GB 内存、1 vCPU、8GiB 存储(system-requirements.md);
  • 环境变量规范:生产环境必须生成强随机的LOCKBOX_MASTER_KEYSECRET_KEY_BASE,并显式配置TOOLJET_HOSTPG_*TOOLJET_DB_*PGRST_*等变量(env-vars.md);
  • 版本升级:LTS 版本每 3–5 个月发布一次,升级前务必对数据库做完整备份,详见 upgrade-to-lts.md。

常见问题速查

现象排查方向
访问http://localhost无响应确认 80 端口未被占用;检查docker ps容器状态与docker logs tooljet中 PostgreSQL 是否完成初始化
Apple Silicon 上启动失败确保命令中包含--platform linux/amd64(arm64 架构不受官方支持)
重启后数据丢失确认每次启动都使用了相同的-v tooljet_data:/var/lib/postgresql/13/main参数与容器名
AI 功能不可用检查部署环境的出站防火墙是否放行https://api-gateway.tooljet.ai
端口冲突改用动态端口方案,-e PORT=<端口>-p <端口>:<端口>保持一致

至此,你已经可以通过一条命令完整体验 ToolJet 的应用构建、数据源连接、ToolJet Database 与 AI 能力;当本地验证通过后,再按正式部署文档平滑迁移到生产环境即可。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询