Deploy ToolJet (unofficial)
Open-source low-code internal tools, CE build (unofficial ToolJet)
tooljet-db
Just deployed
/var/lib/postgresql/data
Just deployed
tooljet-postgrest
Just deployed
Deploy and Host ToolJet (unofficial) on Railway
ToolJet is an open-source low-code platform for building internal tools: a drag-and-drop UI builder on top of your databases and APIs. This is an unofficial template, not affiliated with ToolJet. It deploys the Community Edition image tooljet/tooljet-ce pinned to v3.20.235-lts (source: https://github.com/ToolJet/ToolJet, AGPL-3.0). Enterprise-only features are not part of the Community Edition.
About Hosting ToolJet (unofficial)
The template runs three services: ToolJet CE, PostgreSQL 16 (one volume) and PostgREST v12.2.0 (powers the built-in ToolJet Database). Redis runs inside the ToolJet container and is not persisted. The first admin account is created for you at first start: the email you enter in SEED_EMAIL plus a generated SEED_PASSWORD, so nobody can claim the instance by being first on the URL. The seed prints the admin password to the deploy logs, so anyone who can read the project's logs or variables can see it: change it after your first login. The first start runs 220+ database migrations and can take several minutes.
Common Use Cases
- Internal dashboards and admin panels on top of your databases and APIs
- CRUD tools and back-office apps built with a visual editor
- Quick prototypes of team workflows without writing a full front end
Dependencies for ToolJet (unofficial) Hosting
- ToolJet CE
tooljet/tooljet-ce:v3.20.235-lts(Redis bundled inside the container) - PostgreSQL
postgres:16.15with a volume - PostgREST
postgrest/postgrest:v12.2.0
Implementation Details
- Login: the email you entered as
SEED_EMAILand theSEED_PASSWORDvariable (also in the first deploy log). - Memory: ToolJet asks for about 2 GB of RAM. Railway's Trial plan limit (1 GB) may not be enough, so the app can be killed for lack of memory at boot or under real use.
- HTTPS: Railway terminates TLS at its edge for generated railway.app domains and custom domains, and redirects plain HTTP requests to HTTPS. This is Railway's platform behaviour, not a ToolJet feature, and this template makes no claim about encryption inside Railway's network or about the security of ToolJet itself.
- The ToolJet service's Custom Start Command must stay exactly as set:
/bin/sh -c "/app/server/entrypoint.sh npm run db:seed:prod && exec npm run start:prod"(with the quotes). It seeds the admin, then starts the server. If the quotes are lost it seeds and exits, and the service shows "Completed" with no site. - Back up
LOCKBOX_MASTER_KEYand never change it: saved data-source credentials cannot be decrypted without it ("cannot decrypt" errors). - Emails (invites, password reset) need
SMTP_*variables, and Railway blocks outbound SMTP on some plans. - Upgrading: bump the image tag to a newer
-ltstag; migrations run on start. Keep PostgREST at v12.2.0 unless ToolJet's release notes say otherwise.
Why Deploy ToolJet (unofficial) 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 (unofficial) 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
tooljet-db
postgres:16.15SEED_EMAIL
Email address of the first admin account (your login). Enter it before deploying.
tooljet-postgrest
postgrest/postgrest:v12.2.0