Installing JasperWho?
JasperWho? is a standard Laravel application. The setup is intentionally slim — pull the repository, install dependencies, configure the environment, migrate the database. A standard installation is up and running in under 30 minutes.
What You Don't Need
Before listing what is required, it is worth being explicit about what is not:
- No Java — the render engine is pure PHP. No JVM, no Java runtime, no Java SQL drivers.
- No Node.js / npm / Vite — the frontend assets are pre-built and bundled with the repository.
- No Jaspersoft Server — JasperWho? is entirely self-contained.
- No Docker — optional for the database only, not required for the application itself.
System Requirements
| Requirement | Notes |
|---|---|
| PHP >= 8.2 | Required extensions: ctype, curl, fileinfo, filter, hash, mbstring, openssl, pcntl, pdo, pdo_sqlite, posix, session, simplexml, tokenizer. For report database connections, additionally: pdo_mysql (MySQL / MariaDB), pdo_pgsql (PostgreSQL). SQL Server is listed separately below. |
| Composer | PHP dependency manager — getcomposer.org |
| MySQL or MariaDB | JasperWho?'s own application database. A Docker container works fine if no local instance is available. |
| poppler-utils | Provides pdftoppm, used for generating report thumbnails. Install via apt install poppler-utils. |
| Supervisor | Keeps the Laravel queue worker running for background jobs (thumbnail generation, purge tasks). |
| Apache2 or nginx | Optional reverse proxy. Not required for local or development setups. |
| php-sqlsrv / pdo_sqlsrv | Only required when connecting to Microsoft SQL Server as a report data source. Not needed otherwise. |
Bundled Dependencies
The following components are bundled with JasperWho? — no separate installation required:
| Component | Purpose |
|---|---|
| JasperPHP | Pure PHP render engine — parses .jrxml and generates PDFs via TCPDF. Installed automatically by Composer. |
| Log Viewer | In-browser Laravel log viewer for monitoring application logs. |
| Scribe | Generates the interactive API documentation from source annotations. |
| Material Design Icons | Icon set used throughout the frontend. |
| Ace Editor | In-browser code editor for writing SQL queries. |
| Logo & Color Concept | Visual identity by sinister-labs. |
| Jaspersoft Studio 6.21.5 | Desktop IDE for designing .jrxml report templates. Installed separately on the designer's machine — not on the server. Download here. |
Deployment Options
JasperWho? can be deployed in two ways: self-hosted on your own infrastructure, or fully managed and operated by kiwi software. Both options deliver identical functionality — the choice depends on your team's operational preferences and existing infrastructure.
Self-Hosted
You run JasperWho? on your own servers. The infrastructure footprint is intentionally small — no Java runtime, no application server, no container orchestration required. A single modest Linux VPS covers all but the most demanding workloads.
| Component | Minimum | Recommended | Notes |
|---|---|---|---|
| JasperWho? server (Linux) | 1 vCPU, 1 GB RAM | 2 vCPU, 4 GB RAM | A Hetzner CX22 (2 vCPU, 4 GB RAM, 40 GB NVMe) is more than sufficient for most deployments. Any comparable entry-level VPS or on-premises Linux server works equally well. |
| Disk | 10 GB | 40 GB | Application and report thumbnails. Scale with report volume and history retention period. |
| Background Printing Service (Windows) | Any Windows 10/11 machine or Windows Server with the target printers installed | Runs as a lightweight console process — a few dozen MB of memory, negligible CPU. In most deployments, an existing Windows PC on the shop floor or in the office serves as the print host. No dedicated hardware required. | |
Managed Hosting
If you prefer not to manage infrastructure yourself, JasperWho? can be hosted and operated for you. Instances run exclusively in Germany on Hetzner hardware — reliable, fast, and GDPR-compliant by location. Updates, monitoring, and backups are handled on your behalf.
Managed hosting works well for most use cases. Depending on your network connection to the hosting location, render requests may see slightly higher latency compared to a locally deployed instance — typically not noticeable, but worth considering for high-frequency, latency-sensitive workloads such as real-time label printing on the shop floor.
For managed hosting enquiries, get in touch directly.
No comments to display
No comments to display