I create a server solution using Java. Right now this is purely a hosted solution, but in the future I want my customers to be able to self-host their own installations of my product.
Yes, Valentina for Java makes it possible.
Deploy Single Installations of Valentina Server
Valentina Server is available as a standalone product for Windows, Linux and macOS, and it includes the powerful Valentina Reports Server and two database servers: Valentina DB Server and SQLite Server. Your Valentina Server license is based on concurrent users for Reports / Valentina DB / REST access and separately, for SQLite - upgrading from a lower level to a higher level is just a difference in cost.
All Valentina CLIENT components are free with Valentina Server, so you can write utility applications using any supported development environment to work with databases or reports stored on Valentina Server.
Deploy Multiple Installations of Valentina Server
Valentina Developer Network lets you deploy multiple copies of Valentina Server to your customers, royalty free and in an unlimited number of copies. Your VDN license is based on concurrent users for Reports / Valentina DB / REST access and separately, for SQLite. Order VDN once you want your solution to be self hosted by your customers. Your VDN developer license lets you deploy copies of Valentina Server on Windows, Linux (x86 and ARM 7 | Raspbian) and macOS.
If you decide to use the Report Server in Valentina Server, then you will want to get Valentina Studio Pro to create different report projects or templates to include with your product. Valentina Reports can generate reports as images, PDFs and html.