4.6 KiB
| id | title |
|---|---|
| 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 or send us an email at hello@tooljet.com.
You can effortlessly deploy Amazon Elastic Compute Cloud Service (EC2) by utilizing a CloudFormation template. This template will deploy all the services required to run ToolJet on AWS EC2 instances.
To deploy all the services at once, simply employ the following template:
curl -LO https://tooljet-deployments.s3.us-west-1.amazonaws.com/cloudformation/EC2-cloudfomration.yml
Follow the steps below to deploy ToolJet on AWS EC2 instances.
-
Setup a PostgreSQL database and make sure that the database is accessible from the EC2 instance.
-
Login to your AWS management console and go to the EC2 management page.
-
Under the
Imagessection, click on theAMIsbutton. -
Find the ToolJet version you want to deploy. Now, from the AMI search page, select the search type as "Public Images" and input the version you'd want
AMI Name : tooljet_vX.X.X.ubuntu_bionicin the search bar. -
Select ToolJet's AMI and bootup an EC2 instance.
Creating a new security group is recommended. For example, if the installation should receive traffic from the internet, the inbound rules of the security group should look like this:
| protocol | port | allowed_cidr |
|---|---|---|
| tcp | 22 | your IP |
| tcp | 80 | 0.0.0.0/0 |
| tcp | 443 | 0.0.0.0/0 |
-
Once the instance boots up, SSH into the instance by running
ssh -i <path_to_pem_file> ubuntu@<public_ip_of_the_instance> -
Switch to the app directory by running
cd ~/app. Modify the contents of the.envfile. ( Eg:vim .env)The default
.envfile looks like this:TOOLJET_HOST=http://<example> LOCKBOX_MASTER_KEY=<example> SECRET_KEY_BASE=<example> PG_DB=tooljet_prod PG_USER=<pg user name> PG_HOST=<pg host> PG_PASS=<pg user password>Read environment variables reference
:::info If there are self signed HTTPS endpoints that Tooljet needs to connect to, please make sure that
NODE_EXTRA_CA_CERTSenvironment variable is set to the absolute path containing the certificates. ::: -
TOOLJET_HOSTenvironment variable determines where you can access the ToolJet client. It can either be the public ipv4 address of your instance or a custom domain that you want to use.Examples:
TOOLJET_HOST=http://12.34.56.78orTOOLJET_HOST=https://yourdomain.comorTOOLJET_HOST=https://tooljet.yourdomain.com:::info We use a lets encrypt plugin on top of nginx to create TLS certificates on the fly. :::
:::info Please make sure that
TOOLJET_HOSTstarts with eitherhttp://orhttps://::: -
Once you've configured the
.envfile, run./setup_app. This script will install all the dependencies of ToolJet and then will start the required services. -
If you've set a custom domain for
TOOLJET_HOST, add aA recordentry in your DNS settings to point to the IP address of the EC2 instance. -
You're all done, ToolJet client would now be served at the value you've set in
TOOLJET_HOST.
Deploying Tooljet Database
ToolJet AMI comes inbuilt with PostgREST. If you intend to use this feature, you'd only have to setup the environment variables in ~/app/.env file and run ./setup_app script.
You can learn more about this feature here.
Upgrading to the Latest LTS Version
New LTS versions are released every 3-5 months with an end-of-life of atleast 18 months. To check the latest LTS version, visit the ToolJet Docker Hub page. The LTS tags follow a naming convention with the prefix LTS- followed by the version number, for example tooljet/tooljet:EE-LTS-latest.
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.
Prerequisites for Upgrading to the Latest LTS Version:
-
It is crucial to perform a comprehensive backup of your database before starting the upgrade process to prevent data loss.
-
Users on versions earlier than v2.23.0-ee2.10.2 must first upgrade to this version before proceeding to the LTS version.
For specific issues or questions, refer to our Slack.