diff --git a/blueprints/tooljet/docker-compose.yml b/blueprints/tooljet/docker-compose.yml new file mode 100644 index 00000000..c09289f7 --- /dev/null +++ b/blueprints/tooljet/docker-compose.yml @@ -0,0 +1,44 @@ +version: "3" + +services: + tooljet: + tty: true + stdin_open: true + image: tooljet/tooljet:ee-lts-latest + restart: always + env_file: .env + # ports: + # - 80:80 + expose: + - 80 + deploy: # Please adjust the resource according to your usecase + resources: + limits: + cpus: '1' + memory: 2G + depends_on: + - postgres + environment: + SERVE_CLIENT: "true" + PORT: "80" + command: npm run start:prod + + postgres: + image: postgres:13 + restart: always + deploy: # Please adjust the resource according to your usecase + resources: + limits: + cpus: '2' + memory: 3G + volumes: + - ../files/postgres:/var/lib/postgresql/data + env_file: .env + environment: + - POSTGRES_USER=${PG_USER} + - POSTGRES_PASSWORD=${PG_PASS} + +volumes: + certs: + logs: + fallbackcerts: \ No newline at end of file diff --git a/blueprints/tooljet/logo.png b/blueprints/tooljet/logo.png new file mode 100644 index 00000000..9216a175 Binary files /dev/null and b/blueprints/tooljet/logo.png differ diff --git a/blueprints/tooljet/template.toml b/blueprints/tooljet/template.toml new file mode 100644 index 00000000..f165a56d --- /dev/null +++ b/blueprints/tooljet/template.toml @@ -0,0 +1,96 @@ +[variables] +main_domain = "${domain}" +pg_pass = "${password}" + +[config] +mounts = [] + +env = [ +"# Create .env from this example file and replace values for the environment.", +"# The application expects a separate .env.test for test environment configuration", +"# Get detailed information about each variable here: https://docs.tooljet.com/docs/setup/env-vars", +"", +"TOOLJET_HOST=http://${main_domain}:80", +"TOOLJET_HTTP_PROXY=http://${main_domain}:80", +"LOCKBOX_MASTER_KEY=${password:32}", +"SECRET_KEY_BASE=${password:64}", +"", +"# DATABASE CONFIG", +"ORM_LOGGING=all", +"PG_DB=tooljet_production", +"PG_USER=postgres", +"PG_HOST=postgres", +"PG_PASS=${pg_pass}", +"", +"# The above postgres values is set to its default state. If necessary, kindly modify it according to your personal preference.", +"", +"# TOOLJET DATABASE", +"TOOLJET_DB=tooljet_db", +"TOOLJET_DB_USER=postgres", +"TOOLJET_DB_HOST=postgres", +"TOOLJET_DB_PASS=${pg_pass}", +"", +"PGRST_DB_URI=postgres://postgres:${pg_pass}@postgres/tooljet_db", +"PGRST_HOST=localhost:3002", +"PGRST_JWT_SECRET=${password:32}", +"PGRST_SERVER_PORT=3002", +"", +"# Redis", +"REDIS_HOST=localhost", +"REDIS_PORT=6379", +"REDIS_USER=default", +"REDIS_PASSWORD=", +"", +"# Checks every 24 hours to see if a new version of ToolJet is available", +"# (Enabled by default. Set false to disable)", +"CHECK_FOR_UPDATES=true", +"", +"# Checks every 24 hours to update app telemetry data to ToolJet hub.", +"# (Telemetry is enabled by default. Set value to true to disable.)", +"DISABLE_TOOLJET_TELEMETRY=true", +"", +"GOOGLE_CLIENT_ID=", +"GOOGLE_CLIENT_SECRET=", +"", +"# EMAIL CONFIGURATION", +"DEFAULT_FROM_EMAIL=hello@tooljet.io", +"SMTP_USERNAME=", +"SMTP_PASSWORD=", +"SMTP_DOMAIN=", +"SMTP_PORT=", +"", +"# DISABLE USER SIGNUPS (true or false). only applicable if Multi-Workspace feature is enabled", +"DISABLE_SIGNUPS=", +"", +"# OBSERVABILITY", +"APM_VENDOR=", +"SENTRY_DNS=", +"SENTRY_DEBUG=", +"", +"# FEATURE TOGGLE", +"COMMENT_FEATURE_ENABLE=", +"ENABLE_MULTIPLAYER_EDITING=true", +"ENABLE_MARKETPLACE_FEATURE=true", +"", +"# SSO (Applicable only for Multi-Workspace)", +"SSO_GOOGLE_OAUTH2_CLIENT_ID=", +"SSO_GIT_OAUTH2_CLIENT_ID=", +"SSO_GIT_OAUTH2_CLIENT_SECRET=", +"SSO_GIT_OAUTH2_HOST=", +"SSO_ACCEPTED_DOMAINS=", +"SSO_DISABLE_SIGNUPS=", +"", +"#ONBOARDING", +"ENABLE_ONBOARDING_QUESTIONS_FOR_ALL_SIGN_UPS=", +"", +"#session expiry in minutes", +"USER_SESSION_EXPIRY=2880", +"", +"#TELEMETRY", +"DEPLOYMENT_PLATFORM=docker" +] + +[[config.domains]] +serviceName = "tooljet" +port = 80 +host = "${main_domain}" \ No newline at end of file diff --git a/meta.json b/meta.json index 06a36f61..a762029d 100644 --- a/meta.json +++ b/meta.json @@ -2702,6 +2702,23 @@ ] }, { + "id": "tooljet", + "name": "Tooljet", + "version": "ee-lts-latest", + "description": "Tooljet is an open-source low-code platform that allows you to build internal tools quickly and efficiently. It provides a user-friendly interface for creating applications without extensive coding knowledge.", + "logo": "logo.png", + "links": { + "github":"https://github.com/ToolJet/ToolJet", + "website": "https://tooljet.ai/", + "docs": "https://docs.tooljet.ai/" + }, + "tags": [ + "file-sync", + "file-sharing", + "self-hosted" + ], +}, +{ "id": "onetimesecret", "name": "One Time Secret", "version": "latest",