id | title |
---|---|
ecs |
AWS ECS |
:::info You should setup a PostgreSQL database manually to be used by ToolJet. :::
If you have any questions feel free to join our Slack Community or send us an email at hello@tooljet.com.
Follow the steps below to deploy ToolJet on a ECS cluster.
-
Setup a PostgreSQL database ToolJet uses a postgres database as the persistent storage for storing data related to users and apps.
-
Create a target group and an application load balancer to route traffic onto ToolJet containers. You can reference AWS docs to set it up. Please note that ToolJet server exposes
/api/health
, which you can configure for health checks.:::note This setup follows the old AWS UI for ECS as some options are missing on the latest experience. :::
-
Create task definition for deploying ToolJet app as a service on your preconfigured cluster.
-
Configure IAM roles and set operating system family as Linux
-
Click on add container to update container definitions
Within the add container form that is shown:
-
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. -
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 to set it up.
:::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
:::
-
-
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.
:::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. :::
The latest version includes architectural changes and, hence, comes with new migrations.
If this is a new installation of the application, you may start directly with the latest version. This guide is not required for new installations.
-
It is crucial to perform a comprehensive backup of your database before starting the upgrade process to prevent data loss.
-
Ensure that your current version is v2.23.0-ee2.10.2 before upgrading.
-
Users on versions earlier than v2.23.0-ee2.10.2 must first upgrade to this version before proceeding to the latest version.
For specific issues or questions, refer to our Slack.