BinaryDoc generates Documents with rich diagrams from Binary files directly for Java.
This docker image needs to work together with mysql database with specified mysql.cnf configurations. An sample docker-compose.yml file has been provided.
Sample Diagrams in Generated documents:
There are web sites containing the documentes and diagrams generated by BinaryDoc:
- BinaryDoc for OpenJDK
- BinaryDoc for Android
- BinaryDoc for Kotlin
- BinaryDoc for Groovy
- BinaryDoc for Scala
- BinaryDoc for Spring framework
- BinaryDoc for Apache Cassandra
- BinaryDoc for Apache Tomcat
- BinaryDoc for Eclipse Jetty
This is an sample docker compose setup for BinaryDoc, which generates Documents with rich diagrams from Binary files directly for Java.
Warning
- This docker compose setup is designed for none-production environment, better for evaluation or testing box
- Password is set in .env, while
password vaultcould be used in production - Default RAM in mysql.cnf is small, while
128 GBor more RAM is available in production
BinaryDoc is a compute-intensive software which needs powerful hardware.
Here we list the suggested minimal hardware requirements:
- CPU:
8or more threads - RAM:
24 GBminimal,64 GBis suggested for better performance, based on the size of the Java application to be parsed - Disk type:
SSDDrive is suggested,M.2 SSDorNVMe SSDare preferred - Disk size:
20 GBor more avialbe disk space is suggested- The size is based on the binary data to be parsed.
- Example: OpenJDK 11 binary data size is
387.9 MB, and the current corresponding DB size is7 GB.
Customize the config files
- .env
- Change the DB password (default=
123456) when needed - Change the TCP ports when needed
- Change the DB password (default=
- mysql.cnf
- Change
innodb_buffer_pool_sizebased on avabile RAM hardware and the size of application to be parsed - Change
innodb_buffer_pool_instancesbased on parallel workloads
- Change
Start the Docker Instances
docker-compose up -d
Run the Parser for current OpenJDK for demo:
./run-parse-demo.sh- Note. the parser execution takes about
1 houronM.2 SSDdisk, and needs up to24 GBRAM
- Note. the parser execution takes about
Run the Parser for your application:
- Put your Java Application to be Parsed to the
app-to-parsefolder- Example: Copy the application
.jmodor.jarfiles to this folder
- Example: Copy the application
- Start the parser
Access the Web Site
(Optional) Access the Backend DB if interested
- http://127.0.0.1:10190/
- System:
MySQL - Server:
binarydoc-db - Username:
root - Password:
123456, or the password set in the .env file - Database:
binarydocjvmadm
- System:
- MySQL Workbench, or Other DB Access Tools
- Server:
localhost - Port:
13306
- Server:
When we want to Delete Existing Docker Instances, and to Start over again
When we want login to the Running Docker container
sudo docker-compose exec binarydoc /bin/bash
TCP Ports Mapping
- We may change the ports
10180,10190,13306in .env when necessary
- Support: Report Issues in Github
- License: Apache License 2.0






