@@ -24,19 +49,37 @@ Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
2. A new tab will open up, sign-in to your DigitalOCean account. Once signed-in, the **Create App** page will open up and **Resources** will be already selected. Click on **Next** button.
+
+

+
+
3. Now, on **Environment Variables** page you can add new variables or edit the existing ones. Check the [environment variables here](/docs/setup/env-vars).
+ Also, please add the redis url in the environment variable `REDIS_URL= #connection string`
+
+
+

+
+
4. On the next page, you can change the **App name**, **Project**, and the **Region**.
-

+
+
+

+
+
5. On the last page, you'll be asked to **Review** all the app details such that we entered before such as **Resources**, **Environment Variables**, **Region**, and there will also be **Billing** section at the end. Review all the details and click the **Create Resource** button.
-

+
+
+

+
+
6. Once you click the **Create Resource** button, the build will begin. Once the build is complete, you'll see the resource and a **URL** next to it. Click on the URL to open the deployed **ToolJet**.
@@ -44,14 +87,14 @@ Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
ToolJet server and client can be deployed as standalone applications. If you do not want to deploy the client on DigitalOcean, modify `package.json` accordingly. We have a [guide](/docs/setup/client) on deploying ToolJet client using services such as Firebase.
:::
-#### Deploying Tooljet Database
+## Deploying Tooljet Database
If you intend to use this feature, you'd have to set up and deploy PostgREST server which helps querying ToolJet Database.
You can learn more about this feature [here](/docs/tooljet-database).
Follow the steps below to deploy ToolJet Database on DigitalOcean:
-1. If you are using dev database within ToolJet deployment, upgrade it to managed database. You could also add a separate database, if you intent use a different database, please refer the [environment variables](/docs/setup/env-vars#tooljet-database-feature-enable--optional-) for additional env variables.
+1. If you are using dev database within ToolJet deployment, upgrade it to managed database. You could also add a separate database, if you intent use a different database, please refer the [environment variables](/docs/setup/env-vars#enable-tooljet-database--optional-) for additional env variables.
2. Create a new app for PostgREST server. You can opt for docker hub to deploy PostgREST image of version `10.1.x`.
@@ -63,4 +106,4 @@ Follow the steps below to deploy ToolJet Database on DigitalOcean:
4. Add your newly created PostgREST app to the trusted sources of your managed or separate database.
-5. Update your existing ToolJet application deployment with [environment variables](/docs/setup/env-vars#tooljet-database-feature-enable--optional-) required for PostgREST.
+5. Update your existing ToolJet application deployment with [environment variables](/docs/setup/env-vars#enable-tooljet-database--optional-) required for PostgREST.
diff --git a/docs/versioned_docs/version-2.15.0/setup/ec2.md b/docs/versioned_docs/version-2.15.0/setup/ec2.md
index 540b16c50d..662b4f2d56 100644
--- a/docs/versioned_docs/version-2.15.0/setup/ec2.md
+++ b/docs/versioned_docs/version-2.15.0/setup/ec2.md
@@ -3,12 +3,12 @@ id: ec2
title: AWS EC2
---
-# AWS EC2
+# Deploying ToolJet on Amazon EC2
:::info
You should setup a PostgreSQL database manually to be used by the ToolJet server.
-
:::
+
*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
Follow the steps below to deploy ToolJet on AWS EC2 instances.
diff --git a/docs/versioned_docs/version-2.15.0/setup/ecs.md b/docs/versioned_docs/version-2.15.0/setup/ecs.md
index b16770014a..c3eb758aa0 100644
--- a/docs/versioned_docs/version-2.15.0/setup/ecs.md
+++ b/docs/versioned_docs/version-2.15.0/setup/ecs.md
@@ -9,71 +9,222 @@ title: AWS ECS
You should setup a PostgreSQL database manually to be used by ToolJet.
:::
-*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
+You can effortlessly deploy Amazon Elastic Container Service (ECS) by utilizing a [CloudFormation template](https://aws.amazon.com/cloudformation/):
+
+To deploy all the services at once, simply employ the following template:
+
+```
+curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/Cloudfomation-template-one-click.yml
+```
+
+If you already have existing services and wish to integrate ToolJet seamlessly into your current Virtual Private Cloud (VPC) or other setups, you can opt for the following template:
+
+```
+curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/Cloudformation-deploy.yml
+```
+
+## Redis
+
+:::info
+ToolJet requires configuring Redis which is used for enabling multiplayer editing and for background jobs.
+:::
+
+To deploy Redis on an ECS cluster, please follow the steps outlined below.
+
+Please note that if you already have an existing Redis setup, you can continue using it. However, if you need to create a new Redis service, you can follow the steps provided below.
+
+- Create a new take definition
+
+
+
+

+
+
+
+
+- Please add container and image tag as shown below:
+
+ **Make sure that you are using redis version 6.x.x**
+
+
+
+

+
+
+
+- Ensure that when creating a service, Redis is integrated into the same cluster where your ToolJet app will be deployed.
+
+ **Note: Please enable public IP**
+
+
+
+

+
+
+
+## ToolJet
Follow the steps below to deploy ToolJet on a ECS cluster.
-1. Setup a PostgreSQL database
- ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
+1. Setup a PostgreSQL database ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
+2. Create a target group and an application load balancer to route traffic onto ToolJet containers. You can [reference](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-application-load-balancer.html) AWS docs to set it up. Please note that ToolJet server exposes `/api/health`, which you can configure for health checks.
-2. Create a target group and an application load balancer to route traffic onto ToolJet containers.
- You can [reference](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-application-load-balancer.html) AWS docs to set it up. Please note that ToolJet server exposes `/api/health`, which you can configure for health checks.
+3. Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
- :::note
- This setup follows the old AWS UI for ECS as some options are missing on the latest experience.
- :::
+ i. Select Fargate as launch type compatibility
+
+ ii. Configure IAM roles and set operating system family as Linux.
+
+ iii. Select task size to have 3GB of memory and 1vCpu
-3. Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
+
- 1. Select Fargate as launch type compatibility.
-

+

- 2. Configure IAM roles and set operating system family as Linux
-

+
+
+ iv. Add container details that is shown:
- 3. Select task size to have 3GB of memory and 1vCpu
-

+ Specify your container name ex: `ToolJet`
- 4. Click on add container to update container definitions
-

+ Set the image you intend to deploy. ex: `tooljet/tooljet:
`
- Within the add container form that is shown:
+ Update port mappings at container port `3000` for tcp protocol.
- - Specify your container name ex: `tooljet-ce`
- - Set the image you intend to deploy. ex: `tooljet/tooljet-ce:v1.26.0`
- - Update port mappings at container port `3000` for tcp protocol.
-
+
- - Update container command field to be `npm,run,start:prod`.
-

+

- - Specify environmental values for the container. You'd want to make use of secrets to store sensitive information or credentials, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html) to set it up.
+
+
+ Specify environmental values for the container. You'd want to make use of secrets to store sensitive information or credentials, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html) to set it up. You can also store the env in S3 bucket, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) .
-
+
- :::note
- For the minimal setup, ToolJet requires:
- `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.
+

- Read **[environment variables reference](/docs/setup/env-vars)**
+
+
+ :::info
+ For the minimal setup, ToolJet requires: `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.
+
+ Read **[environment variables reference](https://docs.tooljet.com/docs/setup/env-vars)**
+ :::
+
+ Additionally, include the Redis environment variables within the ToolJet container mentioned above if you have followed the previous steps to create Redis.
+
+ ```
+ REDIS_HOST=
+ REDIS_PORT=6379
+ REDIS_USER=default
+ REDIS_PASSWORD=
+ ```
+
+ v. Make sure `Use log collection checked` and `Docker configuration` with the command `npm run start:dev`
- :::
+
-4. Create a service to run your task definition within your cluster.
- - Select launch type as Fargate.
- - Set operating system family as Linux
- - Select task definition family as the one created earlier. ex: `tooljet-ce`
- - Select the cluster and set the service name
- - You can set the number of tasks to start with as two
- - Rest of the values can be kept as default
-

- - Click on next step to configure networking options
- - Select your designated VPC, Subnets and Security groups. Kindly ensure that the security group allows for inbound traffic to http port 3000 for the task.
-

- - Since migrations are run as a part of container boot, please specify health check grace period for 900 seconds.
- - Select the application loadbalancer option and set the target group name to the one we had created earlier. This will auto populate the health check endpoints.
+

+
+
+
+4. Create a service to run your task definition within your cluster.
+
+ - Select the cluster which you have created
+
+ - Select launch type as Fargate
+
+
+
+

+
+
+
+ - Select the cluster and set the service name
+
+ - You can set the number of tasks to start with as two
+
+ - Rest of the values can be kept as default
+
+
+
+

+
+
+
+ - Click on next step to configure networking options
+
+ - Select your designated VPC, Subnets and Security groups. Kindly ensure that the security group allows for inbound traffic to http port 3000 for the task.
+
+
+
+

+
+
+
+ - Since migrations are run as a part of container boot, please specify health check grace period for 900 seconds. Select the application loadbalancer option and set the target group name to the one we had created earlier. This will auto populate the health check endpoints.
:::info
The setup above is just a template. Feel free to update the task definition and configure parameters for resources and environment variables according to your needs.
:::
+
+## ToolJet Database
+
+If you intend to use this feature, you'd have to set up and deploy PostgREST server which helps querying ToolJet Database. You can learn more about this feature [here](https://docs.tooljet.com/docs/tooljet-database).
+
+Follow the steps below to deploy PostgREST on a ECS cluster.
+
+1. Create a new take definition
+
+
+
+

+
+
+
+ Add the container details and image tag as shown below:
+
+
+
+

+
+
+
+ Under environmental variable please add corresponding PostgREST env variables. You can also refer [env variable](https://docs.tooljet.com/docs/setup/env-vars/#postgrest-server-optional).
+
+
+
+

+
+
+
+
+2. Create service and make sure the postgrest is within the same cluster as ToolJet app.
+
+
+
+

+
+
+
+
+3. Specify a service name and leave the remaining settings at their default configurations.
+
+
+
+

+
+
+
+4. Ensure that the PostgREST service resides within the same Virtual Private Cloud (VPC), and confirm that port 3001 is included in the security group used by the ToolJet app. **Note: Please enable public IP**
+
+
+
+

+
+
+
+
+Update ToolJet deployment with the appropriate env variables [here](https://docs.tooljet.com/docs/setup/env-vars/#enable-tooljet-database--optional-) and apply the changes.
+
diff --git a/docs/versioned_docs/version-2.16.0/setup/azure-container.md b/docs/versioned_docs/version-2.16.0/setup/azure-container.md
index b9e9f9947f..60bdc0aaa5 100644
--- a/docs/versioned_docs/version-2.16.0/setup/azure-container.md
+++ b/docs/versioned_docs/version-2.16.0/setup/azure-container.md
@@ -6,7 +6,7 @@ title: Azure container apps
# Deploying ToolJet on Azure container apps
:::info
-Please note that you need to set up a PostgreSQL database manually to be used by ToolJet
+Please note that you need to set up a PostgreSQL database manually to be used by ToolJet. Additionally, you must set up a Redis service through Azure Cache for Redis.
:::
*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
@@ -36,9 +36,12 @@ Please note that you need to set up a PostgreSQL database manually to be used by
- Make sure to provide the image tag, and then enter `npm run start:prod` in the "Command override" field.
- Add the following ToolJet application variables under the "Environmental variable" section. You can refer to this [**documentation**](/docs/setup/env-vars) for more information on environment variables.
+
+ **Note: For the minimal setup, ToolJet requires: `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.**
+
-

+
@@ -52,7 +55,7 @@ Please note that you need to set up a PostgreSQL database manually to be used by
5. Click on "Review + create" and wait for the template to be verified and passed, as shown in the screenshot below.
-

+
diff --git a/docs/versioned_docs/version-2.16.0/setup/digitalocean.md b/docs/versioned_docs/version-2.16.0/setup/digitalocean.md
index a4143f9e4f..0030942f83 100644
--- a/docs/versioned_docs/version-2.16.0/setup/digitalocean.md
+++ b/docs/versioned_docs/version-2.16.0/setup/digitalocean.md
@@ -7,13 +7,38 @@ title: DigitalOcean
Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
-*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
+If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.
+
+### Redis setup
+
+:::info
+ToolJet requires configuring Redis which is used for enabling multiplayer editing and for background jobs.
+:::
+
+Follow the steps below to configure Redis database:
+
+1. Navigate to **Database** and create a database cluster.
+
+
+
+

+
+
+
+2. Select `Redis` from the database engine and add a unique name to the cluster and click on **Create Database cluster**.
+
+
+
+

+
+
+
+3. Once the set-up is complete, add the Redis connection string in the environmental variable of `tooliet-app`.
## Deploying
#### Follow the steps below to deploy ToolJet on DigitalOcean:
-
1. Click on the button below to start one click deployment
@@ -24,19 +49,37 @@ Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
2. A new tab will open up, sign-in to your DigitalOCean account. Once signed-in, the **Create App** page will open up and **Resources** will be already selected. Click on **Next** button.
+
+

+
+
3. Now, on **Environment Variables** page you can add new variables or edit the existing ones. Check the [environment variables here](/docs/setup/env-vars).
+ Also, please add the redis url in the environment variable `REDIS_URL= #connection string`
+
+
+

+
+
4. On the next page, you can change the **App name**, **Project**, and the **Region**.
-

+
+
+

+
+
5. On the last page, you'll be asked to **Review** all the app details such that we entered before such as **Resources**, **Environment Variables**, **Region**, and there will also be **Billing** section at the end. Review all the details and click the **Create Resource** button.
-

+
+
+

+
+
6. Once you click the **Create Resource** button, the build will begin. Once the build is complete, you'll see the resource and a **URL** next to it. Click on the URL to open the deployed **ToolJet**.
@@ -44,14 +87,14 @@ Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
ToolJet server and client can be deployed as standalone applications. If you do not want to deploy the client on DigitalOcean, modify `package.json` accordingly. We have a [guide](/docs/setup/client) on deploying ToolJet client using services such as Firebase.
:::
-#### Deploying Tooljet Database
+## Deploying Tooljet Database
If you intend to use this feature, you'd have to set up and deploy PostgREST server which helps querying ToolJet Database.
You can learn more about this feature [here](/docs/tooljet-database).
Follow the steps below to deploy ToolJet Database on DigitalOcean:
-1. If you are using dev database within ToolJet deployment, upgrade it to managed database. You could also add a separate database, if you intent use a different database, please refer the [environment variables](/docs/setup/env-vars#tooljet-database-feature-enable--optional-) for additional env variables.
+1. If you are using dev database within ToolJet deployment, upgrade it to managed database. You could also add a separate database, if you intent use a different database, please refer the [environment variables](/docs/setup/env-vars#enable-tooljet-database--optional-) for additional env variables.
2. Create a new app for PostgREST server. You can opt for docker hub to deploy PostgREST image of version `10.1.x`.
@@ -63,4 +106,4 @@ Follow the steps below to deploy ToolJet Database on DigitalOcean:
4. Add your newly created PostgREST app to the trusted sources of your managed or separate database.
-5. Update your existing ToolJet application deployment with [environment variables](/docs/setup/env-vars#tooljet-database-feature-enable--optional-) required for PostgREST.
+5. Update your existing ToolJet application deployment with [environment variables](/docs/setup/env-vars#enable-tooljet-database--optional-) required for PostgREST.
diff --git a/docs/versioned_docs/version-2.16.0/setup/ec2.md b/docs/versioned_docs/version-2.16.0/setup/ec2.md
index 540b16c50d..662b4f2d56 100644
--- a/docs/versioned_docs/version-2.16.0/setup/ec2.md
+++ b/docs/versioned_docs/version-2.16.0/setup/ec2.md
@@ -3,12 +3,12 @@ id: ec2
title: AWS EC2
---
-# AWS EC2
+# Deploying ToolJet on Amazon EC2
:::info
You should setup a PostgreSQL database manually to be used by the ToolJet server.
-
:::
+
*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
Follow the steps below to deploy ToolJet on AWS EC2 instances.
diff --git a/docs/versioned_docs/version-2.16.0/setup/ecs.md b/docs/versioned_docs/version-2.16.0/setup/ecs.md
index b16770014a..c3eb758aa0 100644
--- a/docs/versioned_docs/version-2.16.0/setup/ecs.md
+++ b/docs/versioned_docs/version-2.16.0/setup/ecs.md
@@ -9,71 +9,222 @@ title: AWS ECS
You should setup a PostgreSQL database manually to be used by ToolJet.
:::
-*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
+You can effortlessly deploy Amazon Elastic Container Service (ECS) by utilizing a [CloudFormation template](https://aws.amazon.com/cloudformation/):
+
+To deploy all the services at once, simply employ the following template:
+
+```
+curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/Cloudfomation-template-one-click.yml
+```
+
+If you already have existing services and wish to integrate ToolJet seamlessly into your current Virtual Private Cloud (VPC) or other setups, you can opt for the following template:
+
+```
+curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/Cloudformation-deploy.yml
+```
+
+## Redis
+
+:::info
+ToolJet requires configuring Redis which is used for enabling multiplayer editing and for background jobs.
+:::
+
+To deploy Redis on an ECS cluster, please follow the steps outlined below.
+
+Please note that if you already have an existing Redis setup, you can continue using it. However, if you need to create a new Redis service, you can follow the steps provided below.
+
+- Create a new take definition
+
+
+
+

+
+
+
+
+- Please add container and image tag as shown below:
+
+ **Make sure that you are using redis version 6.x.x**
+
+
+
+

+
+
+
+- Ensure that when creating a service, Redis is integrated into the same cluster where your ToolJet app will be deployed.
+
+ **Note: Please enable public IP**
+
+
+
+

+
+
+
+## ToolJet
Follow the steps below to deploy ToolJet on a ECS cluster.
-1. Setup a PostgreSQL database
- ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
+1. Setup a PostgreSQL database ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
+2. Create a target group and an application load balancer to route traffic onto ToolJet containers. You can [reference](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-application-load-balancer.html) AWS docs to set it up. Please note that ToolJet server exposes `/api/health`, which you can configure for health checks.
-2. Create a target group and an application load balancer to route traffic onto ToolJet containers.
- You can [reference](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-application-load-balancer.html) AWS docs to set it up. Please note that ToolJet server exposes `/api/health`, which you can configure for health checks.
+3. Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
- :::note
- This setup follows the old AWS UI for ECS as some options are missing on the latest experience.
- :::
+ i. Select Fargate as launch type compatibility
+
+ ii. Configure IAM roles and set operating system family as Linux.
+
+ iii. Select task size to have 3GB of memory and 1vCpu
-3. Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
+
- 1. Select Fargate as launch type compatibility.
-

+

- 2. Configure IAM roles and set operating system family as Linux
-

+
+
+ iv. Add container details that is shown:
- 3. Select task size to have 3GB of memory and 1vCpu
-

+ Specify your container name ex: `ToolJet`
- 4. Click on add container to update container definitions
-

+ Set the image you intend to deploy. ex: `tooljet/tooljet:
`
- Within the add container form that is shown:
+ Update port mappings at container port `3000` for tcp protocol.
- - Specify your container name ex: `tooljet-ce`
- - Set the image you intend to deploy. ex: `tooljet/tooljet-ce:v1.26.0`
- - Update port mappings at container port `3000` for tcp protocol.
-
+
- - Update container command field to be `npm,run,start:prod`.
-

+

- - Specify environmental values for the container. You'd want to make use of secrets to store sensitive information or credentials, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html) to set it up.
+
+
+ Specify environmental values for the container. You'd want to make use of secrets to store sensitive information or credentials, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html) to set it up. You can also store the env in S3 bucket, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) .
-
+
- :::note
- For the minimal setup, ToolJet requires:
- `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.
+

- Read **[environment variables reference](/docs/setup/env-vars)**
+
+
+ :::info
+ For the minimal setup, ToolJet requires: `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.
+
+ Read **[environment variables reference](https://docs.tooljet.com/docs/setup/env-vars)**
+ :::
+
+ Additionally, include the Redis environment variables within the ToolJet container mentioned above if you have followed the previous steps to create Redis.
+
+ ```
+ REDIS_HOST=
+ REDIS_PORT=6379
+ REDIS_USER=default
+ REDIS_PASSWORD=
+ ```
+
+ v. Make sure `Use log collection checked` and `Docker configuration` with the command `npm run start:dev`
- :::
+
-4. Create a service to run your task definition within your cluster.
- - Select launch type as Fargate.
- - Set operating system family as Linux
- - Select task definition family as the one created earlier. ex: `tooljet-ce`
- - Select the cluster and set the service name
- - You can set the number of tasks to start with as two
- - Rest of the values can be kept as default
-

- - Click on next step to configure networking options
- - Select your designated VPC, Subnets and Security groups. Kindly ensure that the security group allows for inbound traffic to http port 3000 for the task.
-

- - Since migrations are run as a part of container boot, please specify health check grace period for 900 seconds.
- - Select the application loadbalancer option and set the target group name to the one we had created earlier. This will auto populate the health check endpoints.
+

+
+
+
+4. Create a service to run your task definition within your cluster.
+
+ - Select the cluster which you have created
+
+ - Select launch type as Fargate
+
+
+
+

+
+
+
+ - Select the cluster and set the service name
+
+ - You can set the number of tasks to start with as two
+
+ - Rest of the values can be kept as default
+
+
+
+

+
+
+
+ - Click on next step to configure networking options
+
+ - Select your designated VPC, Subnets and Security groups. Kindly ensure that the security group allows for inbound traffic to http port 3000 for the task.
+
+
+
+

+
+
+
+ - Since migrations are run as a part of container boot, please specify health check grace period for 900 seconds. Select the application loadbalancer option and set the target group name to the one we had created earlier. This will auto populate the health check endpoints.
:::info
The setup above is just a template. Feel free to update the task definition and configure parameters for resources and environment variables according to your needs.
:::
+
+## ToolJet Database
+
+If you intend to use this feature, you'd have to set up and deploy PostgREST server which helps querying ToolJet Database. You can learn more about this feature [here](https://docs.tooljet.com/docs/tooljet-database).
+
+Follow the steps below to deploy PostgREST on a ECS cluster.
+
+1. Create a new take definition
+
+
+
+

+
+
+
+ Add the container details and image tag as shown below:
+
+
+
+

+
+
+
+ Under environmental variable please add corresponding PostgREST env variables. You can also refer [env variable](https://docs.tooljet.com/docs/setup/env-vars/#postgrest-server-optional).
+
+
+
+

+
+
+
+
+2. Create service and make sure the postgrest is within the same cluster as ToolJet app.
+
+
+
+

+
+
+
+
+3. Specify a service name and leave the remaining settings at their default configurations.
+
+
+
+

+
+
+
+4. Ensure that the PostgREST service resides within the same Virtual Private Cloud (VPC), and confirm that port 3001 is included in the security group used by the ToolJet app. **Note: Please enable public IP**
+
+
+
+

+
+
+
+
+Update ToolJet deployment with the appropriate env variables [here](https://docs.tooljet.com/docs/setup/env-vars/#enable-tooljet-database--optional-) and apply the changes.
+
diff --git a/docs/versioned_docs/version-2.17.0/setup/azure-container.md b/docs/versioned_docs/version-2.17.0/setup/azure-container.md
index b9e9f9947f..60bdc0aaa5 100644
--- a/docs/versioned_docs/version-2.17.0/setup/azure-container.md
+++ b/docs/versioned_docs/version-2.17.0/setup/azure-container.md
@@ -6,7 +6,7 @@ title: Azure container apps
# Deploying ToolJet on Azure container apps
:::info
-Please note that you need to set up a PostgreSQL database manually to be used by ToolJet
+Please note that you need to set up a PostgreSQL database manually to be used by ToolJet. Additionally, you must set up a Redis service through Azure Cache for Redis.
:::
*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
@@ -36,9 +36,12 @@ Please note that you need to set up a PostgreSQL database manually to be used by
- Make sure to provide the image tag, and then enter `npm run start:prod` in the "Command override" field.
- Add the following ToolJet application variables under the "Environmental variable" section. You can refer to this [**documentation**](/docs/setup/env-vars) for more information on environment variables.
+
+ **Note: For the minimal setup, ToolJet requires: `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.**
+
-

+
@@ -52,7 +55,7 @@ Please note that you need to set up a PostgreSQL database manually to be used by
5. Click on "Review + create" and wait for the template to be verified and passed, as shown in the screenshot below.
-

+
diff --git a/docs/versioned_docs/version-2.17.0/setup/digitalocean.md b/docs/versioned_docs/version-2.17.0/setup/digitalocean.md
index ccc8eb2969..0030942f83 100644
--- a/docs/versioned_docs/version-2.17.0/setup/digitalocean.md
+++ b/docs/versioned_docs/version-2.17.0/setup/digitalocean.md
@@ -7,49 +7,13 @@ title: DigitalOcean
Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
-*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
-
-The latest docker image is `tooljet/tooljet:`
-
-## Deploying
-
-#### Follow the steps below to deploy ToolJet on DigitalOcean:
-
-1. Once signed-in to your DigitalOcean account, click on the **Create App** button.
-
-
-
-

-
-
-
-2. On the next page, you'll be asked to choose a **Resource** type, select **Docker Hub**. Enter the Repository name as `tooljet/tooljet` and the corresponding tag.
-
-
-
-

-
-
-
-3. Once the Resource is created, you'll be redirected to the **Resources** page. Click on the **Edit** button next to the Resource.
-
-
-
-

-
-
-
- Make sure the **Run Command** is `./server/scripts/digitalocean-postbuild.sh` and the **HTTP** port is `3000`. Once you have edited the ToolJet resource click on the **Back** button.
-
-
-
-

-
-
+If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.
### Redis setup
+:::info
ToolJet requires configuring Redis which is used for enabling multiplayer editing and for background jobs.
+:::
Follow the steps below to configure Redis database:
@@ -70,82 +34,60 @@ Follow the steps below to configure Redis database:
3. Once the set-up is complete, add the Redis connection string in the environmental variable of `tooliet-app`.
- :::info
- In the business edition, saving or making changes in apps is dependent on Redis, even if multi-player editing is not necessary.
- :::
-
-### Database setup
-Follow the below steps to attach a postgresql database:
+## Deploying
-1. Click on **Add Resource** and select **Database** and click on add.
+#### Follow the steps below to deploy ToolJet on DigitalOcean:
+
+1. Click on the button below to start one click deployment
-

+ [](https://cloud.digitalocean.com/apps/new?repo=https://github.com/ToolJet/ToolJet/tree/main)
-2. Enter the preffered name for the database and click **Create and attach**.
+2. A new tab will open up, sign-in to your DigitalOCean account. Once signed-in, the **Create App** page will open up and **Resources** will be already selected. Click on **Next** button.
-

+
-### Setting up environment variables
+3. Now, on **Environment Variables** page you can add new variables or edit the existing ones. Check the [environment variables here](/docs/setup/env-vars).
-1. Once the database is attached, click on **Next** to set up the environment variables.
+ Also, please add the redis url in the environment variable `REDIS_URL= #connection string`
-

+
-2. Click on **Edit** next to `tooljet-app`.
+4. On the next page, you can change the **App name**, **Project**, and the **Region**.
-

+
-3. Click on the build editor to edit the environment variables.
+5. On the last page, you'll be asked to **Review** all the app details such that we entered before such as **Resources**, **Environment Variables**, **Region**, and there will also be **Billing** section at the end. Review all the details and click the **Create Resource** button.
-

+
- ```bash
- NODE_ ENV=production
- NODE_OPTIONS=--max-old-space-size=4096
- LOCKBOX MASTER_KEY= #Use `openssl rand -hex 32`
- SECRET KEY BASE= #Use `openssl rand -hex 64`
- DEPLOYMENT_PLATFORM=digitalocean
- DATABASE_URL=${.DATABASE_URL}
- CA CERT=${.CA_CERT}
- TOOLJET HOST=${APP_URL}
- TOOLJET_SERVER_URL=${APP_URL}
- REDIS_URL= #connection string
- ```
+6. Once you click the **Create Resource** button, the build will begin. Once the build is complete, you'll see the resource and a **URL** next to it. Click on the URL to open the deployed **ToolJet**.
- DATABASE_URL and CA_CERT variable should be added in the above format.
+:::tip
+ToolJet server and client can be deployed as standalone applications. If you do not want to deploy the client on DigitalOcean, modify `package.json` accordingly. We have a [guide](/docs/setup/client) on deploying ToolJet client using services such as Firebase.
+:::
-4. After adding the environment variables, click on **Save**.
-
-
-
-

-
-
-
- To add additional environment variables, refer this [doc](https://docs.tooljet.com/docs/setup/env-vars/).
-
-#### Deploying Tooljet Database
+## Deploying Tooljet Database
If you intend to use this feature, you'd have to set up and deploy PostgREST server which helps querying ToolJet Database.
You can learn more about this feature [here](/docs/tooljet-database).
diff --git a/docs/versioned_docs/version-2.17.0/setup/ec2.md b/docs/versioned_docs/version-2.17.0/setup/ec2.md
index 540b16c50d..662b4f2d56 100644
--- a/docs/versioned_docs/version-2.17.0/setup/ec2.md
+++ b/docs/versioned_docs/version-2.17.0/setup/ec2.md
@@ -3,12 +3,12 @@ id: ec2
title: AWS EC2
---
-# AWS EC2
+# Deploying ToolJet on Amazon EC2
:::info
You should setup a PostgreSQL database manually to be used by the ToolJet server.
-
:::
+
*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
Follow the steps below to deploy ToolJet on AWS EC2 instances.
diff --git a/docs/versioned_docs/version-2.17.0/setup/ecs.md b/docs/versioned_docs/version-2.17.0/setup/ecs.md
index 0494ef623d..c3eb758aa0 100644
--- a/docs/versioned_docs/version-2.17.0/setup/ecs.md
+++ b/docs/versioned_docs/version-2.17.0/setup/ecs.md
@@ -9,81 +9,222 @@ title: AWS ECS
You should setup a PostgreSQL database manually to be used by ToolJet.
:::
-*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
+You can effortlessly deploy Amazon Elastic Container Service (ECS) by utilizing a [CloudFormation template](https://aws.amazon.com/cloudformation/):
+
+To deploy all the services at once, simply employ the following template:
+
+```
+curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/Cloudfomation-template-one-click.yml
+```
+
+If you already have existing services and wish to integrate ToolJet seamlessly into your current Virtual Private Cloud (VPC) or other setups, you can opt for the following template:
+
+```
+curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/Cloudformation-deploy.yml
+```
+
+## Redis
+
+:::info
+ToolJet requires configuring Redis which is used for enabling multiplayer editing and for background jobs.
+:::
+
+To deploy Redis on an ECS cluster, please follow the steps outlined below.
+
+Please note that if you already have an existing Redis setup, you can continue using it. However, if you need to create a new Redis service, you can follow the steps provided below.
+
+- Create a new take definition
+
+
+
+

+
+
+
+
+- Please add container and image tag as shown below:
+
+ **Make sure that you are using redis version 6.x.x**
+
+
+
+

+
+
+
+- Ensure that when creating a service, Redis is integrated into the same cluster where your ToolJet app will be deployed.
+
+ **Note: Please enable public IP**
+
+
+
+

+
+
+
+## ToolJet
Follow the steps below to deploy ToolJet on a ECS cluster.
-1. Setup a PostgreSQL database
- ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
+1. Setup a PostgreSQL database ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
+2. Create a target group and an application load balancer to route traffic onto ToolJet containers. You can [reference](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-application-load-balancer.html) AWS docs to set it up. Please note that ToolJet server exposes `/api/health`, which you can configure for health checks.
-2. Create a target group and an application load balancer to route traffic onto ToolJet containers.
- You can [reference](https://docs.aws.amazon.com/AmazonECS/latest/userguide/create-application-load-balancer.html) AWS docs to set it up. Please note that ToolJet server exposes `/api/health`, which you can configure for health checks.
+3. Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
- :::note
- This setup follows the old AWS UI for ECS as some options are missing on the latest experience.
- :::
+ i. Select Fargate as launch type compatibility
+
+ ii. Configure IAM roles and set operating system family as Linux.
+
+ iii. Select task size to have 3GB of memory and 1vCpu
-3. Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
+
- 1. Select Fargate as launch type compatibility.
-

+

- 2. Configure IAM roles and set operating system family as Linux
-

+
+
+ iv. Add container details that is shown:
- 3. Select task size to have 3GB of memory and 1vCpu
-
+ Specify your container name ex: `ToolJet`
- 4. Click on add container to update container definitions
-
+ Set the image you intend to deploy. ex: `tooljet/tooljet:`
- Within the add container form that is shown:
+ Update port mappings at container port `3000` for tcp protocol.
- - Specify your container name ex: `tooljet`
- - Set the image you intend to deploy. ex: `tooljet/tooljet:`
- - Update port mappings at container port `3000` for tcp protocol.
-
+
- - Update container command field to be `npm,run,start:prod`.
-

+

- - Specify environmental values for the container. You'd want to make use of secrets to store sensitive information or credentials, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html) to set it up.
+
+
+ Specify environmental values for the container. You'd want to make use of secrets to store sensitive information or credentials, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html) to set it up. You can also store the env in S3 bucket, kindly refer the AWS [docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) .
-
+
- :::note
- For the minimal setup, ToolJet requires:
- `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.
+

- Read **[environment variables reference](/docs/setup/env-vars)**
+
+
+ :::info
+ For the minimal setup, ToolJet requires: `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.
+
+ Read **[environment variables reference](https://docs.tooljet.com/docs/setup/env-vars)**
+ :::
+
+ Additionally, include the Redis environment variables within the ToolJet container mentioned above if you have followed the previous steps to create Redis.
+
+ ```
+ REDIS_HOST=
+ REDIS_PORT=6379
+ REDIS_USER=default
+ REDIS_PASSWORD=
+ ```
+
+ v. Make sure `Use log collection checked` and `Docker configuration` with the command `npm run start:dev`
- :::
- 5. Please add redis container as part of the deployment. Please make sure that you are using redis version 6.x.x
+
- Also add these env variable in the above tooljet container
+

- ```
- REDIS_HOST=localhost
- REDIS_PORT=6379
- REDIS_USER=default
- REDIS_PASSWORD=
- ```
+
-4. Create a service to run your task definition within your cluster.
- - Select launch type as Fargate.
- - Set operating system family as Linux
- - Select task definition family as the one created earlier. ex: `tooljet-ce`
- - Select the cluster and set the service name
- - You can set the number of tasks to start with as two
- - Rest of the values can be kept as default
-
- - Click on next step to configure networking options
- - Select your designated VPC, Subnets and Security groups. Kindly ensure that the security group allows for inbound traffic to http port 3000 for the task.
-
- - Since migrations are run as a part of container boot, please specify health check grace period for 900 seconds.
- - Select the application loadbalancer option and set the target group name to the one we had created earlier. This will auto populate the health check endpoints.
+4. Create a service to run your task definition within your cluster.
+
+ - Select the cluster which you have created
+
+ - Select launch type as Fargate
+
+
+
+

+
+
+
+ - Select the cluster and set the service name
+
+ - You can set the number of tasks to start with as two
+
+ - Rest of the values can be kept as default
+
+
+
+

+
+
+
+ - Click on next step to configure networking options
+
+ - Select your designated VPC, Subnets and Security groups. Kindly ensure that the security group allows for inbound traffic to http port 3000 for the task.
+
+
+
+

+
+
+
+ - Since migrations are run as a part of container boot, please specify health check grace period for 900 seconds. Select the application loadbalancer option and set the target group name to the one we had created earlier. This will auto populate the health check endpoints.
:::info
The setup above is just a template. Feel free to update the task definition and configure parameters for resources and environment variables according to your needs.
:::
+
+## ToolJet Database
+
+If you intend to use this feature, you'd have to set up and deploy PostgREST server which helps querying ToolJet Database. You can learn more about this feature [here](https://docs.tooljet.com/docs/tooljet-database).
+
+Follow the steps below to deploy PostgREST on a ECS cluster.
+
+1. Create a new take definition
+
+
+
+

+
+
+
+ Add the container details and image tag as shown below:
+
+
+
+

+
+
+
+ Under environmental variable please add corresponding PostgREST env variables. You can also refer [env variable](https://docs.tooljet.com/docs/setup/env-vars/#postgrest-server-optional).
+
+
+
+

+
+
+
+
+2. Create service and make sure the postgrest is within the same cluster as ToolJet app.
+
+
+
+

+
+
+
+
+3. Specify a service name and leave the remaining settings at their default configurations.
+
+
+
+

+
+
+
+4. Ensure that the PostgREST service resides within the same Virtual Private Cloud (VPC), and confirm that port 3001 is included in the security group used by the ToolJet app. **Note: Please enable public IP**
+
+
+
+

+
+
+
+
+Update ToolJet deployment with the appropriate env variables [here](https://docs.tooljet.com/docs/setup/env-vars/#enable-tooljet-database--optional-) and apply the changes.
+
diff --git a/docs/versioned_docs/version-2.18.0/setup/azure-container.md b/docs/versioned_docs/version-2.18.0/setup/azure-container.md
index b9e9f9947f..60bdc0aaa5 100644
--- a/docs/versioned_docs/version-2.18.0/setup/azure-container.md
+++ b/docs/versioned_docs/version-2.18.0/setup/azure-container.md
@@ -6,7 +6,7 @@ title: Azure container apps
# Deploying ToolJet on Azure container apps
:::info
-Please note that you need to set up a PostgreSQL database manually to be used by ToolJet
+Please note that you need to set up a PostgreSQL database manually to be used by ToolJet. Additionally, you must set up a Redis service through Azure Cache for Redis.
:::
*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
@@ -36,9 +36,12 @@ Please note that you need to set up a PostgreSQL database manually to be used by
- Make sure to provide the image tag, and then enter `npm run start:prod` in the "Command override" field.
- Add the following ToolJet application variables under the "Environmental variable" section. You can refer to this [**documentation**](/docs/setup/env-vars) for more information on environment variables.
+
+ **Note: For the minimal setup, ToolJet requires: `TOOLJET_HOST`, `PG_HOST`, `PG_DB`, `PG_USER`, `PG_PASSWORD`, `SECRET_KEY_BASE` & `LOCKBOX_MASTER_KEY` keys in the secret.**
+
-

+
@@ -52,7 +55,7 @@ Please note that you need to set up a PostgreSQL database manually to be used by
5. Click on "Review + create" and wait for the template to be verified and passed, as shown in the screenshot below.
-

+
diff --git a/docs/versioned_docs/version-2.18.0/setup/digitalocean.md b/docs/versioned_docs/version-2.18.0/setup/digitalocean.md
index ccc8eb2969..0030942f83 100644
--- a/docs/versioned_docs/version-2.18.0/setup/digitalocean.md
+++ b/docs/versioned_docs/version-2.18.0/setup/digitalocean.md
@@ -7,49 +7,13 @@ title: DigitalOcean
Now you can quickly deploy ToolJet using the Deploy to DigitalOcean button.
-*If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.*
-
-The latest docker image is `tooljet/tooljet:`
-
-## Deploying
-
-#### Follow the steps below to deploy ToolJet on DigitalOcean:
-
-1. Once signed-in to your DigitalOcean account, click on the **Create App** button.
-
-
-
-

-
-
-
-2. On the next page, you'll be asked to choose a **Resource** type, select **Docker Hub**. Enter the Repository name as `tooljet/tooljet` and the corresponding tag.
-
-
-
-

-
-
-
-3. Once the Resource is created, you'll be redirected to the **Resources** page. Click on the **Edit** button next to the Resource.
-
-
-
-

-
-
-
- Make sure the **Run Command** is `./server/scripts/digitalocean-postbuild.sh` and the **HTTP** port is `3000`. Once you have edited the ToolJet resource click on the **Back** button.
-
-
-
-

-
-
+If you have any questions feel free to join our [Slack Community](https://tooljet.com/slack) or send us an email at hello@tooljet.com.
### Redis setup
+:::info
ToolJet requires configuring Redis which is used for enabling multiplayer editing and for background jobs.
+:::
Follow the steps below to configure Redis database:
@@ -70,82 +34,60 @@ Follow the steps below to configure Redis database:
3. Once the set-up is complete, add the Redis connection string in the environmental variable of `tooliet-app`.
- :::info
- In the business edition, saving or making changes in apps is dependent on Redis, even if multi-player editing is not necessary.
- :::
-
-### Database setup
-Follow the below steps to attach a postgresql database:
+## Deploying
-1. Click on **Add Resource** and select **Database** and click on add.
+#### Follow the steps below to deploy ToolJet on DigitalOcean:
+
+1. Click on the button below to start one click deployment