Welcome to Velkin
Velkin is a self-hosted templating studio for generating documents. You design a template once — in HTML, DOCX, or XLSX — and Velkin renders it on demand to PDF or to its native format, driven by JSON data.
What you get
- A visual studio for designing and editing templates with an in-browser preview.
- A REST API for programmatic rendering, ready to plug into your backend.
- Handlebars everywhere: bind JSON data with plain
{{tags}}, reuse markup with partials, and add logic with sandboxed JavaScript helpers. - Versioning for every template asset, with full history and one-click restore.
- Self-hosting first: deploy with Docker Compose, own your data, no SaaS lock-in.
Architecture in one paragraph
Velkin runs as three services orchestrated by Docker Compose:
- a Go API (
net/http) that handles persistence and rendering; - an Angular Studio where you author templates, set options, and preview output;
- a MongoDB database that stores reports, template assets, and their version history.
Rendering relies on Chromium for HTML-to-PDF and on LibreOffice (soffice)
for converting .docx and .xlsx to PDF when a native output isn't requested.
Templates are compiled by Handlebars.js 4.7.8 in a sandboxed goja VM; reusable
logic lives in JavaScript helpers.
The core data unit is the report (a ReportTemplate): one document that
bundles the active template, Handlebars helpers, sample data, and output
options. See Reports & Templates for the full model.
Who this is for
- Backend teams that need to generate invoices, contracts, reports, exports, or any document where the layout matters.
- Product teams that want non-engineers to update templates without redeploying.
- Operators who prefer self-hosting over a third-party rendering service.
Velkin is built for trusted internal use — a team behind a LAN or VPN, in the spirit of jsreport or Carbone. Template authors are assumed to be developers, so templates run arbitrary Handlebars and HTML by design. The application ships no built-in authentication; you put it behind your own network boundary. Read the Security model before exposing it.
Where to go next
- Install Velkin with Docker Compose.
- Walk through the Quick Start to render your first PDF in a few minutes.
- Skim the Concepts pages if you prefer mental models before tutorials — start with the data model, then Helpers and Output formats.