Deploy jsreport

jsreport 4.14: generate PDFs and reports from HTML templates via API.

Deploy jsreport

Just deployed

/jsreport

Deploy and Host jsreport on Railway

jsreport is a reporting platform that turns HTML, CSS and JavaScript templates into PDFs, Excel files and more through a REST API. You design templates in its browser studio with Handlebars or other engines, then render them from any language by posting JSON data. Chrome does the PDF rendering, so modern CSS works.

About Hosting jsreport

This template runs the official jsreport/jsreport:4.14.2 image, which includes Chromium. Authentication is on: the studio and every API call need the admin account and its generated password. Templates, scripts, assets and the config file are stored on a Railway volume and survive redeploys. The start command hands the temp directory to the jsreport user before the server drops root privileges. Two worker threads render reports, and each render times out after 60 seconds. Chrome makes the service memory-hungry, so large or parallel PDF jobs may need a bigger plan. User scripts run sandboxed, because trustUserCode stays off.

Common Use Cases

  • Invoices, receipts and statements rendered from app data
  • Scheduled or on-demand business reports as PDF or Excel
  • A shared document-generation API for several services

Dependencies for jsreport Hosting

  • jsreport/jsreport:4.14.2 (official image with Chromium)
  • A Railway volume at /jsreport

Deployment Dependencies

Implementation Details

ServiceSourceNetworkingStorage
jsreportjsreport/jsreport:4.14.2public HTTPSvolume at /jsreport
VariableDefaultPurpose
extensions_authentication_admin_usernameadminStudio and API user
extensions_authentication_admin_passwordgeneratedIts password
workers_numberOfWorkers2Parallel render workers
reportTimeout60000Render timeout in milliseconds

Render a stored template:

curl -u admin:$PASSWORD -XPOST "$JSREPORT_URL/api/report" -H 'Content-Type: application/json' \
  -d '{"template":{"name":"invoice"},"data":{"number":"INV-42"}}' -o invoice.pdf

Any jsreport option can be set as a variable by replacing dots with underscores. The free license allows up to five stored templates; see jsreport's pricing page for more.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by jsreport.

Why Deploy jsreport 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 jsreport 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
95
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
870