Open the server Apps tab
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.


Open-source low-code platform for building internal tools
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the ToolJet template in Server Compass to deploy a self-hosted internal tool builder with Postgres on your VPS, then verify the ToolJet web UI in a browser.
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find ToolJet in the Server Compass template catalog.

Choose the ToolJet template. Server Compass fills the ToolJet web service, lockbox master key, session secret, Postgres database, database user, and database password.

Confirm the app name and compose services. In this run, the app was named tooljet-demo and used host port 3000.

Review the generated environment values, confirm the port is available, and click Deploy Now.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the ToolJet image, starts the container, and verifies the stack.

After deployment finishes, return to the Apps tab and confirm the ToolJet app is marked Running with its application URL available.

Open the application URL in a browser. The ToolJet web UI confirms the stack is reachable.

It deploys ToolJet with a Postgres database service.
The tutorial verified ToolJet on host port 3000, which maps to the ToolJet web service on container port 80.
The tutorial verifies the clean ToolJet first-run web UI because admin setup, apps, datasources, and external integrations depend on the production server.
No. The deployment guide should live on the ToolJet template detail page and be linked from the reusable template deployment docs page.
Want full control? Here's how to deploy ToolJet yourself using Docker Compose.
Access your server's command line by opening a terminal and running the SSH command below.
# SSH into your server
ssh root@your-server-ip
# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ipFirst time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh
Set up the folder structure for your Docker deployment.
# Create and navigate to project directory
mkdir -p ~/apps/tooljet
cd ~/apps/tooljetSet up your Docker Compose file with this configuration:
services:
tooljet:
image: tooljet/tooljet:ee-lts-latest
tty: true
stdin_open: true
ports:
- "80:80"
environment:
- SERVE_CLIENT=true
- PORT=80
- TOOLJET_HOST=http://localhost:80
- LOCKBOX_MASTER_KEY=<your-lockbox-master-key>
- SECRET_KEY_BASE=<your-secret-key-base>
- PG_HOST=db
- PG_PORT=5432
- PG_USER=tooljet
- PG_PASS=<your-db-password>
- PG_DB=tooljet
- ENABLE_TOOLJET_DB=true
- TOOLJET_DB=tooljet_db
- TOOLJET_DB_HOST=db
- TOOLJET_DB_PORT=5432
- TOOLJET_DB_USER=tooljet
- TOOLJET_DB_PASS=<your-db-password>
command: npm run start:prod
restart: always
depends_on:
db:
condition: service_healthy
db:
image: postgres:16-alpine
environment:
- POSTGRES_DB=tooljet
- POSTGRES_USER=tooljet
- POSTGRES_PASSWORD=<your-db-password>
volumes:
- postgres_data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U tooljet -d tooljet"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
volumes:
postgres_data:
PORTHost port to expose(default: 80)LOCKBOX_MASTER_KEYLockbox master key (32 bytes hex)SECRET_KEY_BASESecret key base (64 bytes hex)DB_NAMEDatabase name(default: tooljet)DB_USERDatabase user(default: tooljet)DB_PASSWORDDatabase passwordStart all services defined in your compose file.
# Start the containers in detached mode
docker compose up -d
# Check if containers are running
docker compose ps
# View logs
docker compose logs -fOpen the port so you can access the application externally.
# Allow the application port through firewall
sudo ufw allow 80/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:80Skip the terminal and deploy ToolJet with a visual interface. Configure everything with clicks, not commands.
After deploying ToolJet with Server Compass, complete these steps to finish setup
Create your workspace and admin account
Create your first application
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting ToolJet
Simply download Server Compass, connect to your VPS, and select ToolJet from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
ToolJet requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard ToolJet backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest ToolJet image will be pulled and deployed with zero downtime.
ToolJet is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Open-source backend in a single file with realtime database, auth, and file storage

Open-source backend-as-a-service - self-hosted Firebase alternative

Open-source backend framework with dashboard

Full Supabase self-hosted with Kong, GoTrue Auth, Realtime, and Studio
Download Server Compass and deploy ToolJet to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass