This repository is organized into the following directories for better maintainability:
README.md- Main project documentationDIRECTORY_STRUCTURE.md- This file explaining the organization
Contains all Dockerfile variants for different image types:
Dockerfile- Standard full Kali Linux imageDockerfile.minimal- Lightweight versionDockerfile.alternative- Alternative build approachDockerfile.optimized- Size-optimized full imageDockerfile.minimal.optimized- Size-optimized minimal imageDockerfile.ultraslim- Ultra-minimal VNC-based image
Build automation scripts:
build-optimized-images.bat- Interactive builder for optimized imagesbuild-push-dockerhub.bat- Windows batch build and push scriptbuild-push-dockerhub.ps1- PowerShell build and push scriptbuild-push-dockerhub.sh- Linux/macOS build and push script
Docker registry publishing scripts:
push-minimal-optimized.bat- Push minimal optimized imagepush-ultraslim.bat- Push ultra-slim imagepush-optimized-images.bat- Push all optimized imagespush-to-github-packages.ps1- Push to GitHub Packagespush-to-github-packages.bat- Batch wrapper for GitHub Packagespush-direct.bat- Direct push with loggingpush-large-images.bat- Special handling for large imagespush_log.txt- Push operation logs
Container execution scripts:
kali-quickstart.bat- One-click Windows starterrun-kali.bat- Basic Windows run scriptrun-kali-container.ps1- Advanced PowerShell runnerrun-from-dockerhub.ps1- Run pre-built images from Docker Hub
Utility and maintenance scripts:
check-image-sizes.bat- Compare image sizesfinal-check.bat- Final verification scriptverify-setup.bat- Setup verificationtest-persistence.sh- Test data persistencestart-xrdp.sh- XRDP service startup scriptsetup-linux.sh- Linux environment setupfix-gpg-keys.sh- GPG key troubleshooting
Project documentation:
CHANGELOG.md- Version history and changesDATA_PERSISTENCE.md- Data persistence guideDOCKER_HUB_NOTES.md- Docker Hub publishing notesIMAGE_VARIANTS.md- Detailed image variant comparisons
GitHub-specific configuration files (workflows, templates, etc.)
All scripts maintain their original functionality but are now organized by purpose. You can run them using relative paths:
# Build optimized images
scripts\build\build-optimized-images.bat
# Quick start
scripts\run\kali-quickstart.bat
# Check image sizes
scripts\utils\check-image-sizes.bat
# Push to Docker Hub
scripts\push\push-minimal-optimized.batThis organization makes it easier to:
- Find the right script for your task
- Maintain and update scripts
- Understand the project structure
- Contribute new features