Deploy ToolJet

Low-code internal tools builder with ToolJet Database and PostgREST

Deploy ToolJet

/var/lib/postgresql/data

Just deployed

Deploy and Host ToolJet on Railway

ToolJet is an open-source low-code platform for building internal tools such as admin panels, dashboards and approval apps. You drag components onto a canvas, connect them to databases and APIs, and add logic in JavaScript or Python. It also includes its own table store, ToolJet Database, and workflows. The Community Edition is AGPL-3.0.

About Hosting ToolJet

Hosting ToolJet means running its Node.js server, which also serves the web app, next to a PostgreSQL database and a PostgREST server that powers ToolJet Database. This template runs the official tooljet/tooljet-ce v3.20.256 LTS image, pinned by digest, with Railway's PostgreSQL 18 on a volume and PostgREST 12.2 on the private network. Redis is bundled inside the ToolJet image. On the first boot ToolJet creates its two databases, runs its migrations and creates the administrator from the email you enter and a generated password. Secrets are generated at deploy time, and a /api/health check gates every deploy.

Common Use Cases

  • Admin panels and back-office tools on top of PostgreSQL, MySQL, MongoDB, REST or GraphQL APIs
  • Internal dashboards, approval flows and CRUD apps for operations, support and finance teams
  • Small apps that keep their own data in ToolJet Database, with no separate database to manage

Dependencies for ToolJet Hosting

  • PostgreSQL 18 (Railway's postgres-ssl image, with a volume) for the app database and ToolJet Database
  • PostgREST 12.2.12 (postgrest/postgrest, private network only) for ToolJet Database queries

Deployment Dependencies

Implementation Details

First sign-in. Open your Railway domain and sign in with ADMIN_EMAIL and the generated ADMIN_PASSWORD (ToolJet service → Variables), then change the password under your profile. The first boot takes two to four minutes. ToolJet's setup screen is never open on the public URL: the start command creates the administrator through ToolJet's own setup API on a temporary server bound to 127.0.0.1, before the public server starts. If that step fails, the service stops instead of serving an unclaimed instance. The admin is created only once, so changing ADMIN_PASSWORD later has no effect.

Sign-ups. Public sign-up is off (DISABLE_SIGNUPS=true). Add people from Workspace settings → Users.

Settings. The start command sets these defaults, and you can override any of them with a service variable of the same name: PG_DB=tooljet_production, TOOLJET_DB=tooljet_db, ENABLE_TOOLJET_DB=true, DISABLE_SIGNUPS=true, ENABLE_MULTIPLAYER_EDITING=true, USER_SESSION_EXPIRY=2880 (minutes) and SLOW_QUERY_LOGGING_THRESHOLD=1000 (ms, keeps the logs quiet).

Email. No mail server is configured, so invite and password-reset emails aren't sent. To send them, set SMTP_DOMAIN, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD and DEFAULT_FROM_EMAIL on the ToolJet service.

PostgREST version. ToolJet's Docker Compose file still names PostgREST 12.0.2, but that version can stay disconnected after PostgreSQL restarts. This template uses 12.2.12, the line ToolJet bundles in its own Enterprise image, which reconnects by itself.

Why Deploy ToolJet on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying ToolJet on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
120
View Template
Evolution API with n8n
Automate WhatsApp workflows with Evolution API, n8n, and Postgres.

codestorm
110
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
868