Skip to main content

Ubuntu

Follow these steps to setup and run ToolJet on Ubuntu. Open terminal and run the commands below.

Setting up#

  1. Set up the environment

    1.1 Install Node.js

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs

    1.2 Install Postgres

    sudo apt install postgresql postgresql-contrib
    sudo apt-get install libpq-dev
  2. Set up environment variables

    Create a .env file by copying .env.example. More information on the variables that can be set is given in the environment variables reference

    cp .env.example .env
  3. Populate the keys in the env file

    info

    SECRET_KEY_BASE requires a 64 byte key. (If you have openssl installed, run openssl rand -hex 64 to create a 64 byte secure random key)

    LOCKBOX_MASTER_KEY requires a 32 byte key. (Run openssl rand -hex 32 to create a 32 byte secure random key)

    Example:

    cat .env
    TOOLJET_HOST=http://localhost:8082
    LOCKBOX_MASTER_KEY=1d291a926ddfd221205a23adb4cc1db66cb9fcaf28d97c8c1950e3538e3b9281
    SECRET_KEY_BASE=4229d5774cfe7f60e75d6b3bf3a1dbb054a696b6d21b6d5de7b73291899797a222265e12c0a8e8d844f83ebacdf9a67ec42584edf1c2b23e1e7813f8a3339041
  4. Install dependencies

    npm install --prefix server
    npm install --prefix frontend
  5. Set up database

    npm run --prefix server db:reset
  6. Run the server

    cd ./server && npm run start:dev
  7. Run the client

    cd ./frontend && npm start

    The client will start running on the port 8082, you can access the client by visiting: https://localhost:8082

  8. 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>