mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-27 16:37:42 +00:00
* whtie label revamp * minor changes * updated beta info in copilot docs * renamed gds to ds in overview doc of v2.15 onwards * updated multienv: renamed gds to ds, updated screenshot * updated multienv: app state description * updated superadmin wrt new licensing updates * licensing update: free trial * updates in licensing * changes after review * [docs]updated restapi with bearer auth * Update kubernetes-aks.md * Update openshift.md * Update ecs.md * Update ecs.md * Update kubernetes-gke.md * Update kubernetes.md * Update docker.md * Update docker.md * Update ecs.md * Update google-cloud-run.md * Update kubernetes-aks.md * Update kubernetes-gke.md * Update kubernetes.md * Update openshift.md * Update kubernetes-gke.md * Update kubernetes-aks.md * fixed ecs, removed heroku from 2.15 onwards * updated digitalocean doc * licensing doc changes and location * Update digitalocean.md * Update digitalocean.md * added v2.18.0 --------- Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
163 lines
5.7 KiB
Markdown
163 lines
5.7 KiB
Markdown
---
|
|
id: digitalocean
|
|
title: DigitalOcean
|
|
---
|
|
|
|
# Deploying ToolJet on 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:<version_tag>`
|
|
|
|
## Deploying
|
|
|
|
#### Follow the steps below to deploy ToolJet on DigitalOcean:
|
|
|
|
1. Once signed-in to your DigitalOcean account, click on the **Create App** button.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/1.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
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.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/2.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
3. Once the Resource is created, you'll be redirected to the **Resources** page. Click on the **Edit** button next to the Resource.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/3.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
Make sure the **Run Command** is `./server/scripts/digitalocean-build.sh` and the **HTTP** port is `3000`. Once you have edited the ToolJet resource click on the **Back** button.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/4.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
### Redis setup
|
|
|
|
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.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/5.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
2. Select `Redis` from the database engine and add a unique name to the cluster and click on **Create Database cluster**.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/6.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
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:
|
|
|
|
1. Click on **Add Resource** and select **Database** and click on add.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/7.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
2. Enter the preffered name for the database and click **Create and attach**.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/8.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
### Setting up environment variables
|
|
|
|
1. Once the database is attached, click on **Next** to set up the environment variables.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/9.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
2. Click on **Edit** next to `tooljet-app`.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/10.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
3. Click on the build editor to edit the environment variables.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/11.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
```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=${<enter the db name which was attached>.DATABASE_URL}
|
|
CA CERT=${<enter the db name which was attached>.CA_CERT}
|
|
TOOLJET HOST=${APP_URL}
|
|
TOOLJET_SERVER_URL=${APP_URL}
|
|
REDIS_URL= #connection string
|
|
```
|
|
|
|
DATABASE_URL and CA_CERT variable should be added in the above format.
|
|
|
|
4. After adding the environment variables, click on **Save**.
|
|
|
|
<div style={{textAlign: 'center'}}>
|
|
|
|
<img className="screenshot-full" src="/img/setup/digitalocean/12.png" alt="ToolJet - Deploy on DigitalOcean" />
|
|
|
|
</div>
|
|
|
|
To add additional environment variables, refer this [doc](https://docs.tooljet.com/docs/setup/env-vars/).
|
|
|
|
### ToolJet Database
|
|
|
|
Use the ToolJet-hosted database to build apps faster, and manage your data with ease. ToolJet database requires no setup and gives you a powerful user interface for managing your data.
|
|
|
|
You can refer docs [here](https://docs.tooljet.com/docs/setup/digitalocean#database-setup), if you require ToolJet Database set-up.
|
|
|
|
### Updating version
|
|
|
|
When a new version is released the team will communicate with the change-log which will contain all the latest features, bug fixes and any configuration changes(applicable only if any).
|
|
|
|
We will share the latest version's tag to which it can be updated. To upgrade to the new version you will have need to change the image tag in the deployment yaml file.
|
|
|
|
:::tip
|
|
1. If there are self signed HTTPS endpoints that Tooljet needs to connect to, please make sure that NODE_EXTRA_CA_CERTS environment variable is set to the absolute path containing the certificates.
|
|
2. Tooljet do not support SSL termination. If you require ssl termination you would have to delegate it using a load balancer or reverse proxy.
|
|
:::
|