ToolJet
A self-hostable application builder for internal tools, dashboards, workflows, forms, and data-source interfaces.
Why consider ToolJet?
ToolJet is an open-source low-code platform for building and deploying internal tools, custom business applications, and automated workflows. It connects to diverse databases and APIs while offering a drag-and-drop component builder.
Learn ToolJet by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide4 sections
ToolJet: Open-Source Low-Code Platform for Internal Tools
ToolJet serves as an open-source framework designed for building internal tools, business applications, dashboards, workflows, and AI agents, enabling organizations to centralize custom operational tooling under self-hosted infrastructure (https://github.com/ToolJet/ToolJet). For engineering teams maintaining multiple back-office tools, custom database administrative screens, or customer support dashboards, writing boilerplate frontend code and connecting diverse APIs often diverts valuable engineering time away from core products.
Core Capabilities and Visual App Builder
ToolJet provides a visual app builder with a drag-and-drop UI and integrations for databases, APIs, SaaS applications, and object storage, serving as an open-source platform for assembling internal software without writing repetitive frontend code (https://raw.githubusercontent.com/ToolJet/ToolJet/develop/README.md). The platform includes more than 60 responsive UI components such as tables, charts, forms, and lists for building application interfaces, allowing developers to quickly lay out complex multi-page operational tools without managing individual UI component libraries (https://raw.githubusercontent.com/ToolJet/ToolJet/develop/README.md).
ToolJet includes ToolJet Database, a scalable built-in database built on top of PostgreSQL for managing application data directly, allowing teams to structure tables, relationships, and queries without configuring external database servers (https://www.tooljet.com). When external datastores are needed, ToolJet connects directly to relational and document databases as well as REST and GraphQL endpoints, executing queries securely on the backend server.
Local Deployment with Docker
The quickstart Docker container includes an embedded PostgreSQL database that persists all application data inside the tooljet_data volume, allowing evaluation environments to run as a self-contained single container without manual database provisioning (https://docs.tooljet.com/docs/setup/try-tooljet). To launch a local evaluation instance running on port 80, execute the following official Docker run command:
docker run \ --name tooljet \ --restart unless-stopped \ -p 80:80 \ --platform linux/amd64 \ -v tooljet_data:/var/lib/postgresql/16/main \ tooljet/try:ee-lts-latestDeployments utilizing ToolJet AI features require whitelisting the official AI gateway and python server endpoints in network configurations, enabling the application server to communicate with specialized background services (https://docs.tooljet.com/docs/setup/try-tooljet). Once the container starts, accessing the designated host URL in a web browser presents the initial workspace configuration wizard.
Production Configuration and Scaling
Production instances of ToolJet require a PostgreSQL database to store application definitions, encrypted datasource credentials, and user authentication data, providing state persistence across container updates (https://docs.tooljet.com/docs/setup/docker/). For multi-container deployments orchestrating web application services alongside external datastores, Docker Compose provides a structured environment configuration. To spin up the services after configuring the environment files, run:
docker-compose up -dRunning multi-container or distributed worker setups requires an external Redis instance to coordinate background job queues, ensuring reliable workflow execution across decoupled worker instances (https://docs.tooljet.com/docs/setup/docker/). This decoupled worker architecture ensures heavy asynchronous jobs and recurring scheduled workflows do not degrade interactive UI performance for active operators.
Security, Observability, and Governance
Recent LTS updates introduce frontend and application observability adhering to OpenTelemetry semantic conventions, helping enterprise teams track client events and latency across distributed deployments (https://github.com/ToolJet/ToolJet/releases/tag/v3.20.214-lts). These observability signals make it easier for site reliability engineers to audit performance bottlenecks across complex multi-step automations and database queries.
ToolJet protects sensitive data connections using AES-256-GCM encryption and routes queries through proxy-only data flows, ensuring credentials and connection strings remain protected on the server rather than exposed to the client browser (https://raw.githubusercontent.com/ToolJet/ToolJet/develop/README.md). Administrators can enforce granular role-based access control, manage multi-environment promotion lifecycles, and configure single sign-on (SSO) providers.
The core open-source codebase of ToolJet is licensed under the GNU Affero General Public License Version 3, granting operators full rights to self-host, audit, and modify the platform source code (https://raw.githubusercontent.com/ToolJet/ToolJet/develop/LICENSE). With an active community and ongoing LTS release stream, ToolJet offers a transparent foundation for organizations looking to retain control over their operational software.
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.