id | title |
---|---|
codespaces |
GitHub Codespaces |
Follow the steps below to set up ToolJet on GitHub Codespaces. We recommend reading our guide on architecture of ToolJet before proceeding.
Open the terminal and run the commands below.
- Install Node.js ( version: v18.3.0 ) and npm (version: v8.11.0)
nvm install 18.3.0
nvm use 18.3.0
npm install -g npm@8.11.0
- Install Postgres
sudo sh -c 'echo "deb [http://apt.postgresql.org/pub/repos/apt](http://apt.postgresql.org/pub/repos/apt) $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - [https://www.postgresql.org/media/keys/ACCC4CF8.asc](https://www.postgresql.org/media/keys/ACCC4CF8.asc) | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-13 postgresql-contrib-13
To start the postgresql service run the below command:
sudo service postgresql start
If you wish to change the password of the installed postresql service run the below commands:
sudo su
sudo -u postgres psql
\password postgres
\q
Create a .env
file by running the command touch .env
. More information on the variables that can be set is given in the environment variables reference
For basic set-up you add the below env variables:
TOOLJET_HOST=http://localhost:3000
LOCKBOX_MASTER_KEY=
SECRET_KEY_BASE=
PG_USER=postgres
PG_HOST=localhost
PG_PASS=postgres
PG_DB=tooljet_prod
SUB_PATH=/apps/tooljet/
NODE_ENV=production
SERVE_CLIENT=true
SECRET_KEY_BASE
requires a 64 byte key. (If you haveopenssl
installed, runopenssl rand -hex 64
to create a 64 byte secure random key)
LOCKBOX_MASTER_KEY
requires a 32 byte key. (Runopenssl rand -hex 32
to create a 32 byte secure random key)
Make sure node version is set to 18.3.0 before running the below command:
npm install
npm install --prefix server
npm install --prefix frontend
npm run build:plugins
npm run --prefix server db:create
npm run --prefix server db:migrate
If at any point you need to reset the database, use this command npm run --prefix server db:reset
cd ./frontend && NODE=production npm run build
cd ./server && npm run start:prod
The client will start on the port 3000, you can access the client by visiting the url created by codespace - https://<url>/apps/tooljet