A lightweight, beginner-friendly starter kit to deploy JasperReports Server using Docker Compose in just a few minutes. No long documentation, just results!
This repository provides a ready-to-use docker-compose.yml file to spin up JasperReports Server and its required MariaDB database. It is designed for developers who want to test, learn, or run JasperReports Server quickly without the hassle of manual configuration.
- One-Command Setup: Bring up the entire stack with a single Docker command.
- Pre-configured Database: Includes a MariaDB container pre-linked to JasperReports.
- Persistent Storage: Data and reports are saved safely even if the containers are removed.
- External Network Support: Ready to integrate with other environments (like
oracle-adb-network). - Lightweight & Clean: No unnecessary enterprise jargon or complex build scripts.
Follow these steps to get your JasperReports Server running instantly.
- Docker installed
- Docker Compose installed
git clone https://github.com/yourusername/jasperreports-server-starter.git
cd jasperreports-server-starterBecause this starter kit is designed to easily integrate with other networks (like your Oracle ADB setup), we define an external network. Create it before starting the containers:
docker network create oracle-adb-networkdocker-compose up -dNote: The first startup might take a few minutes as it initializes the database and application.
The docker-compose.yml consists of two main services:
db(MariaDB): The backend database where JasperReports stores its configurations, users, and repository metadata.web(JasperReports): The actual application interface. It connects to thedbservice automatically using the provided environment variables.
Both services are configured to restart automatically and use mapped volumes so your data isn't lost when the containers stop.
Once the containers are up and running, you can access the server from your browser.
- URL: http://localhost:9091
- Username:
jasperadmin - Password:
jasperadmin
This setup uses Docker Volumes to ensure your reports, users, and database records survive container restarts.
mariadb_data: Stores the raw MariaDB database files.jasperreports_data: Stores JasperReports configurations and customizations.
You can safely back up the database that contains all the reports, user configurations, and folder structures.
docker exec mariadb sh -c 'exec mysqldump --all-databases -uroot -p"$MARIADB_ROOT_PASSWORD"' > backup.sqldocker exec -i mariadb sh -c 'exec mysql -uroot -p"$MARIADB_ROOT_PASSWORD"' < backup.sql1. Network oracle-adb-network declared as external, but could not be found
- Fix: Run
docker network create oracle-adb-networkbefore runningdocker-compose up -d.
2. The JasperReports page shows "Connection Refused" or doesn't load
- Fix: JasperReports requires a few minutes to fully start up Tomcat and initialize the database. Check the logs with
docker logs -f jasperreportsand wait until you see the Tomcat server started message.
3. Port 9091 is already in use
- Fix: Edit the
docker-compose.ymlfile and change the port mapping"9091:8080"to another available port, like"9092:8080".
jasperreports-server-starter/
├── docker-compose.yml # The core configuration file
├── README.md # This documentation
├── LICENSE # MIT License
└── start_jasper_report_server.png # Dashboard screenshot
This project is licensed under the MIT License.

