Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Docker
  3. Whales

Whales

MITRuby

A CLI tool that automatically generates Docker configuration files for Ruby, PHP, Python, and Node.js applications.

Visit WebsiteGitHubGitHub
395 stars19 forks0 contributors

What is Whales?

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.

Target Audience

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.

Value Proposition

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.

Overview

:whale: Tool to automatically dockerize your application.

Use Cases

Best For

  • Quickly Dockerizing new or existing Ruby, PHP, Python, or Node.js projects
  • Generating starter Docker configurations for development environments
  • Automating Docker setup in CI/CD pipelines
  • Learning Docker by examining auto-generated configuration files
  • Standardizing Docker practices across multiple projects in a team
  • Prototyping containerized applications without manual Dockerfile writing

Not Ideal For

  • Projects using languages not in Ruby, PHP, Python, or Node.js (e.g., Java, Go, .NET)
  • Applications requiring complex, multi-service Docker setups with custom orchestration beyond basic web apps
  • Teams needing production-ready, optimized Docker configurations without any manual tweaking

Pros & Cons

Pros

Automatic Dockerfile Generation

Analyzes code statically to detect language, framework, and dependencies, then outputs Dockerfiles and docker-compose.yml files, saving manual setup time.

Multi-Language Support

Uses specialized feature analyzers (Belugas) for Ruby, PHP, Python, and Node.js, ensuring accurate detection for these common stacks.

Dev/Prod Environment Separation

Generates separate configuration files for development (dev.Dockerfile, docker-compose.yml) and production (Dockerfile), providing tailored starting points.

Docker-Only Execution

Runs as a Docker container itself, requiring only Docker on the host machine, which simplifies deployment and avoids additional tool installations.

Cons

Limited Language Coverage

Only supports four programming languages, excluding many popular ones like Java or Go, which restricts its usefulness for diverse codebases.

Imperfect, Basic Outputs

The README admits generated files are 'not perfect' and serve only as a starting point, often requiring significant customization for real-world use.

Complex Command Setup

Requires a lengthy Docker run command with specific environment variables and volume mounts, which can be error-prone and cumbersome for beginners.

Frequently Asked Questions

Quick Stats

Stars395
Forks19
Contributors0
Open Issues4
Last commit7 years ago
CreatedSince 2017

Tags

#containerization#devops#dockerfile#cli-tool#docker-compose#python#nodejs#docker#php#code-analysis#ruby#automation

Built With

D
Docker

Links & Resources

Website

Included in

Shell36.8kDocker35.8k
Auto-fetched 17 hours ago

Related Projects

wttr.inwttr.in

:partly_sunny: The right way to check the weather

Stars30,168
Forks1,258
Last commit6 days ago
DockerSlimDockerSlim

Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)

Stars23,358
Forks839
Last commit1 month ago
rangerranger

A VIM-inspired filemanager for the console

Stars17,309
Forks937
Last commit3 days ago
BuildKitBuildKit

concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit

Stars10,148
Forks1,475
Last commit21 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub