¿Qué es ToolJet?
ToolJet es una plataforma low-code open source para construir herramientas internas: paneles de administración, tableros, formularios, flujos de validación. El editor visual ofrece más de 100 componentes (tablas, gráficos, formularios, botones, calendarios) que se conectan a cualquier fuente de datos —PostgreSQL, MySQL, Redis, APIs REST, Google Sheets, Stripe— y luego se cablean con acciones JavaScript.
Donde Retool factura de 10 a 25 dólares por usuario y mes, ToolJet CE es AGPL-3.0: usuarios ilimitados, aplicaciones ilimitadas, cero telemetría, alojado en su infraestructura. La versión 3.0 (2026) añadió la construcción de aplicaciones con inteligencia artificial: describa la herramienta que quiere en lenguaje natural y ToolJet genera el árbol de componentes, conecta la fuente de datos y cablea las acciones.
Arquitectura de despliegue en ServOrbit
En un VPS ServOrbit, ToolJet funciona con dos contenedores Docker: postgres:13 (base de datos de la aplicación, volúmenes persistentes) y tooljet/tooljet-ce:latest (servidor Node.js en el puerto 3000, con interfaz y API integradas).
PostgREST está desactivado (ENABLE_TOOLJET_DB=false): ese componente opcional expondría una API REST directa sobre PostgreSQL, innecesaria para la gran mayoría de los despliegues. La instalación se queda en dos servicios, ligera y fácil de mantener.
AWX genera automáticamente los secretos durante el aprovisionamiento: SECRET_KEY_BASE (64 caracteres, firma de sesión), LOCKBOX_MASTER_KEY (cifrado Lockbox), la contraseña de PostgreSQL y TOOLJET_HOST (calculado a partir del dominio si se ha indicado, si no, la IP del VPS). nginx termina el TLS y hace de proxy de las peticiones hacia el puerto 3000.
Requisitos previos
- Un VPS ServOrbit con 2 GB de RAM como mínimo (Ubuntu 24.04, con Docker instalado por AWX).
- Un nombre de dominio opcional: ToolJet admite también el acceso por IP mediante un túnel SSH.
- Ninguna configuración SMTP es necesaria para empezar: la primera cuenta se crea con el asistente en el navegador.
Despliegue desde el Marketplace de ServOrbit
Desde su área de cliente ServOrbit, vaya a Marketplace → Desarrollo → ToolJet y haga clic en Desplegar. AWX toma el relevo: aprovisionamiento de Docker, generación de los secretos, escritura del archivo .env y arranque de los contenedores. La aplicación está lista en unos 60 segundos.
Una vez arrancados los contenedores, nginx expone ToolJet: con dominio, https://su-dominio.com (TLS de Let's Encrypt instalado automáticamente); sin dominio, acceso únicamente por túnel SSH — ssh -L 8096:127.0.0.1:8096 root@su-ip, y luego http://localhost:8096 en su navegador.
Primer arranque: crear la cuenta de superadministrador
En la primera apertura, ToolJet muestra un asistente de configuración que pide su nombre completo y su dirección de correo electrónico (la primera cuenta es automáticamente la de superadministrador), su contraseña (de libre elección) y el nombre de la organización (que se usa como nombre del espacio de trabajo en el editor). No se requiere ninguna confirmación por correo electrónico. Una vez validado el asistente, accede directamente al editor de ToolJet.
Conectar una fuente de datos
En el editor de ToolJet, haga clic en Fuentes de datos en la barra lateral izquierda y luego en + Nueva fuente de datos. ToolJet ofrece más de 50 conectores: bases de datos (PostgreSQL, MySQL, MariaDB, SQLite, Redis, InfluxDB), APIs (REST, GraphQL, Stripe, Twilio, SendGrid, HubSpot, OpenAI), hojas de cálculo (Google Sheets, Airtable) y almacenamiento (AWS S3, MinIO). Cada conector guarda sus credenciales cifradas en la base de datos (Lockbox AES). Una fuente de datos configurada está disponible en todas las aplicaciones del espacio de trabajo.
Construir su primera aplicación
Haga clic en Aplicaciones → Crear una nueva aplicación y asígnele un nombre. El editor se abre con una página en blanco y un panel de componentes a la izquierda.
Ejemplo: un panel de administración de pedidos. (1) Arrastre un componente Table al lienzo; (2) cree una consulta PostgreSQL SELECT * FROM orders ORDER BY created_at DESC LIMIT 100; (3) enlace la tabla con la consulta mediante la propiedad Data → {{queries.getOrders.data}}; (4) añada un TextInput (barra de búsqueda) y un Button («Actualizar el estado»); (5) conecte el botón a una consulta SQL UPDATE orders SET status = 'shipped' WHERE id = {{table.selectedRow.id}}.
Haga clic en Vista previa para probar y luego en Publicación para publicar. Invite a sus colegas desde Parámetros → Usuarios: se conectan con sus propias cuentas y solo ven las aplicaciones autorizadas por su rol.
Comparativa ToolJet CE frente a Retool
Desplace la tabla
| Criterio | ToolJet CE | Retool |
|---|---|---|
| Precio | Gratis (AGPL-3.0) | 10–25 $/usuario/mes |
| Alojamiento | Su VPS | Cloud de Retool |
| Datos | Su infraestructura | Enviados a Retool |
| Conectores | 50+ | 60+ |
| Usuarios | Ilimitados | De pago |
| IA integrada | Sí (v3.0, 2026) | Sí (Retool AI) |
| Código | Open source | Propietario |
Mantenimiento y actualizaciones
ToolJet utiliza tooljet/tooljet-ce:latest. Para actualizar, ejecute desde el directorio de la aplicación:
docker compose pull
docker compose up -dLas migraciones de base de datos se aplican automáticamente al arrancar el contenedor. Sus datos permanecen intactos en el volumen tooljet-db. Para fijar una versión concreta, sustituya latest por una etiqueta de versión en el compose (p. ej. tooljet/tooljet-ce:3.20.0).