A CLI tool that automatically generates Docker configuration files for Ruby, PHP, Python, and Node.js applications.
Whales is a Docker-based CLI tool that automatically generates Docker configuration files for applications. It analyzes your project's code to detect the programming language, framework, and dependencies, then outputs ready-to-use Dockerfiles and docker-compose.yml files. This solves the problem of manually writing Docker configurations, especially for developers new to containerization.
Developers working with Ruby, PHP, Python, or Node.js applications who want to quickly Dockerize their projects without deep Docker expertise. It's particularly useful for teams adopting containerization in their workflow.
Developers choose Whales because it automates the tedious process of writing Docker configurations from scratch, providing a reliable starting point that can be customized. Its unique microservices architecture and language-specific analyzers ensure accurate detection and appropriate Docker setups.
:whale: Tool to automatically dockerize your application.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Analyzes code statically to detect language, framework, and dependencies, then outputs Dockerfiles and docker-compose.yml files, saving manual setup time.
Uses specialized feature analyzers (Belugas) for Ruby, PHP, Python, and Node.js, ensuring accurate detection for these common stacks.
Generates separate configuration files for development (dev.Dockerfile, docker-compose.yml) and production (Dockerfile), providing tailored starting points.
Runs as a Docker container itself, requiring only Docker on the host machine, which simplifies deployment and avoids additional tool installations.
Only supports four programming languages, excluding many popular ones like Java or Go, which restricts its usefulness for diverse codebases.
The README admits generated files are 'not perfect' and serve only as a starting point, often requiring significant customization for real-world use.
Requires a lengthy Docker run command with specific environment variables and volume mounts, which can be error-prone and cumbersome for beginners.