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
- It is using unsecure password by default
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 the settings based on current hardware RAM size, following the guide inside the
mysql.cnffile
- Change the settings based on current hardware RAM size, following the guide inside the
Start the Docker Instances
sudo docker-compose up -d
Run the Parser for current OpenJDK for demo:
sudo docker-compose exec binarydoc /opt/fuiny/binarydoc-parser/bin/run.sh 1- 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
sudo docker-compose exec binarydoc /opt/fuiny/binarydoc-parser/bin/run.sh 2
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
sudo docker-compose down --rmi all && sudo rm -rf mysql-data/ apache2-log/
When we want login to the Running Docker container
sudo docker exec -it binarydoc-docker_binarydoc_1 /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






