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.
ℹ️ MySQL and JasperWho? can share the same VM for small to medium deployments. A dedicated database server is only worth considering when multiple JasperWho? instances share one database, or under very high render throughput.

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.


Revision #6
Created 2026-05-10 10:46:18 UTC by Benjamin Fischer
Updated 2026-05-24 13:21:42 UTC by Benjamin Fischer