Merge branch 'Jazys-master'

This commit is contained in:
Nicolas Meienberger 2023-09-04 20:59:17 +02:00
commit 12364322a4
4 changed files with 146 additions and 0 deletions

41
apps/tooljet/config.json Normal file
View File

@ -0,0 +1,41 @@
{
"$schema": "../schema.json",
"name": "Tooljet",
"available": true,
"exposable": true,
"port": 9876,
"id": "tooljet",
"tipi_version": 23,
"version": "v2.4.2",
"categories": [
"automation"
],
"description": "ToolJet is an open-source low-code framework to build and deploy internal tools quickly with minimal engineering effort. ToolJet's drag and drop frontend builder allows you to build complicated responsive frontends within minutes. You can also connect to your data sources, such as databases ( PostgreSQL, MongoDB, Elasticsearch & more), API endpoints (ToolJet supports importing OpenAPI spec & OAuth2 authorization), SaaS tools (Stripe, Slack, Google Sheets, Airtable, Notion & more) and object storage services ( S3, GCS, Minio, etc ) to fetch and write data.",
"short_desc": "Alternative to retool to construct CRM dashboard",
"author": "tooljet.com",
"source": "https://github.com/ToolJet/ToolJet",
"website": "https://www.tooljet.com",
"form_fields": [
{
"type": "random",
"label": "Database password",
"min": 30,
"max": 30,
"env_variable": "DB_PASSWORD"
},
{
"type": "random",
"label": "Secret key base",
"min": 32,
"max": 32,
"env_variable": "SECRET_KEY_BASE"
},
{
"type": "random",
"label": "Lock master key",
"min": 64,
"max": 64,
"env_variable": "LOCKBOX_MASTER_KEY"
}
]
}

View File

@ -0,0 +1,79 @@
version: '3.7'
services:
tooljet:
container_name: tooljet
tty: true
stdin_open: true
image: tooljet/tooljet-client-ce:v2.4.2
restart: always
ports:
- ${APP_PORT}:80
depends_on:
- tooljet-server
networks:
- tipi_main_network
environment:
- SERVER_HOST=tooljet-server
labels:
# Main
traefik.enable: true
traefik.http.middlewares.tooljet-web-redirect.redirectscheme.scheme: https
traefik.http.services.tooljet.loadbalancer.server.port: 80
# Web
traefik.http.routers.tooljet-insecure.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.tooljet-insecure.entrypoints: web
traefik.http.routers.tooljet-insecure.service: tooljet
traefik.http.routers.tooljet-insecure.middlewares: tooljet-web-redirect
# Websecure
traefik.http.routers.tooljet.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.tooljet.entrypoints: websecure
traefik.http.routers.tooljet.service: tooljet
traefik.http.routers.tooljet.tls.certresolver: myresolver
# Local domain
traefik.http.routers.tooljet-local-insecure.rule: Host(`tooljet.${LOCAL_DOMAIN}`)
traefik.http.routers.tooljet-local-insecure.entrypoints: web
traefik.http.routers.tooljet-local-insecure.service: tooljet
traefik.http.routers.tooljet-local-insecure.middlewares: tooljet-web-redirect
# Local domain secure
traefik.http.routers.tooljet-local.rule: Host(`tooljet.${LOCAL_DOMAIN}`)
traefik.http.routers.tooljet-local.entrypoints: websecure
traefik.http.routers.tooljet-local.service: tooljet
traefik.http.routers.tooljet-local.tls: true
command: openresty -g "daemon off;"
tooljet-server:
container_name: tooljet-server
image: tooljet/tooljet-server-ce:v2.14.0
tty: true
stdin_open: true
restart: always
networks:
- tipi_main_network
environment:
- SERVE_CLIENT=false
- SERVER_HOST=tooljet-server
- TOOLJET_HOST=https://${APP_DOMAIN}
- LOCKBOX_MASTER_KEY=${LOCKBOX_MASTER_KEY}
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- PG_DB=tooljet
- PG_USER=tooljet
- PG_HOST=db-tooljet
- PG_PASS=${DB_PASSWORD}
- CHECK_FOR_UPDATES=check_if_updates_are_available
- DEFAULT_FROM_EMAIL=hello@tooljet.io
command: npm run start:prod
db-tooljet:
container_name: db-tooljet
image: postgres:11
restart: on-failure
volumes:
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=tooljet
- POSTGRES_PASSWORD=${DB_PASSWORD}
- POSTGRES_DB=tooljet
- PGDATA=/data/postgres
networks:
- tipi_main_network

View File

@ -0,0 +1,26 @@
## Installation Notes ##
You will need to enable the "expose app" option and configure a URL in Tipi to use Tooljet. This setting can be changed at a later date if an integration is identified that needs it.
## Easily build internal tools.
Visual app builder: 40+ built-in responsive widgets such as Tables, Charts, Lists, Forms, Progressbars, and more.
ToolJet Database: In-built no-code database.
Multi-Page: Build an application with as many pages as you want.
Multiplayer editing: multiple users can use the app builder at the same time.
40+ data sources: connect to external databases, cloud storages and APIs.
Desktop & mobile: layout widths can be customised to support different screens.
Self-host: (supports Docker, Kubernetes, Heroku, AWS EC2, Google Cloud Run, and more).
Collaborate: add comments anywhere on the canvas and tag your team members.
Extend with plugins: use our commandline tool to easily bootstrap new connectors.
Version control: every application have different versions with proper release cycle.
Run JS & Python code: ability custom JavaScript & Python snippets
Granular access control on group-level and app-level.
Low-code: write JS code almost anywhere in the builder. For example, the color property of text can be set to status === 'success' ? 'green' : 'red'
No-code query editors: for all supported data sources.
Join and transform data: transform query results using just JavaScript/Python code.
Secure: All the credentials are securely encrypted using aes-256-gcm.
Doesn't store data: ToolJet acts only as a proxy and doesn't store any data.
SSO: Supports multiple SSO providers
![Screenshot](https://user-images.githubusercontent.com/7828962/211444352-4d6d2e4a-13c9-4980-9e16-4aed4af9811b.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB