
Deploy jsreport
jsreport 4.14: generate PDFs and reports from HTML templates via API.
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
| Service | Source | Networking | Storage |
|---|---|---|---|
| jsreport | jsreport/jsreport:4.14.2 | public HTTPS | volume at /jsreport |
| Variable | Default | Purpose |
|---|---|---|
extensions_authentication_admin_username | admin | Studio and API user |
extensions_authentication_admin_password | generated | Its password |
workers_numberOfWorkers | 2 | Parallel render workers |
reportTimeout | 60000 | Render 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
jsreport
jsreport/jsreport:4.14.2