* [Docs] ubuntu updated * Updated envs * slight formatting update * updated 3.5.0 LTS --------- Co-authored-by: rudrapratik30 <pratik104agrawal@gmail.com>
4.2 KiB
| id | title |
|---|---|
| ubuntu | Ubuntu |
:::warning The following guide is intended for contributors to set-up ToolJet locally. If you're interested in self-hosting ToolJet, please refer to the Setup section. :::
Follow these steps to setup and run ToolJet on Ubuntu. Open terminal and run the commands below.
Setting up
-
Set up the environment
1.1 Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bashUse the command to load NVM:
source ~/.nvm/nvm.shClose and reopen your terminal to start using nvm
nvm install 18.18.2Ensure you have the correct version of npm, or it will cause an error about fsevents.
npm i -g npm@9.8.11.2 Install Postgres
sudo apt install postgresql postgresql-contrib sudo apt-get install libpq-dev1.3 Install PostgREST
:::info Please use PostgREST version 12.2.0 :::
Please follow the installation PostgREST guide
-
Setup the repository:
2.1 Fork the repository:
Go to the ToolJet GitHub repository, click on the Fork button to create a copy of the repository under your own GitHub account.
2.2 Clone your forked repository:
After forking, clone the forked repository to your local machine using the URL of your forked repo.
git clone https://github.com/<your-username>/ToolJet.git -
Set up environment variables
Create a
.envfile by copying.env.example. More information on the variables that can be set is given in the environment variables referencecp .env.example .env -
Populate the keys in the env file :::info
SECRET_KEY_BASErequires a 64 byte key. (If you haveopensslinstalled, runopenssl rand -hex 64to create a 64 byte secure random key)LOCKBOX_MASTER_KEYrequires a 32 byte key. (Runopenssl rand -hex 32to create a 32 byte secure random key) :::Example:
cat .env TOOLJET_HOST=http://localhost:8082 LOCKBOX_MASTER_KEY= <generate using 'openssl rand -hex 32'> SECRET_KEY_BASE= <generate using 'openssl rand -hex 64'> NODE_ENV=development # DATABASE CONFIG PG_HOST=localhost PG_PORT=5432 PG_USER=postgres PG_PASS=postgres PG_DB=tooljet_development TOOLJET_DB=tooljet_db TOOLJET_DB_USER=postgres TOOLJET_DB_HOST=localhost TOOLJET_DB_PASS=postgres -
Install and build dependencies
npm install npm install --prefix server npm install --prefix frontend npm run build:pluginsNOTE: If the
npm run build:pluginscommand fails due to some packages are missing, try running the following command to install the necessary packages:sudo apt install build-essentialthen proceed tonpm run build:pluginsstep again -
Set up database
npm run --prefix server db:create npm run --prefix server db:reset:::info If at any point you need to reset the database, use this command
npm run --prefix server db:reset::: -
Run plugins compilation in watch mode
cd ./plugins && npm start -
Run the server
cd ./server && npm run start:dev -
Run the client
cd ./frontend && npm startThe client will start running on the port 8082, you can access the client by visiting: http://localhost:8082
-
Create login credentials
Visiting https://localhost:8082 should redirect you to the login page, click on the signup link and enter your email. The emails sent by the server in development environment are captured and are opened in your default browser. Click the invitation link in the email preview to setup the account.
Running tests
Test config requires the presence of .env.test file at the root of the project.
To run the unit tests
npm run --prefix server test
To run e2e tests
npm run --prefix server test:e2e
To run a specific unit test
npm run --prefix server test <path-to-file>