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
394 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

Stars394
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 7 hours ago

Related Projects

wttr.inwttr.in

:partly_sunny: The right way to check the weather

Stars30,498
Forks1,268
Last commit16 hours 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,404
Forks840
Last commit1 month ago
rangerranger

A VIM-inspired filemanager for the console

Stars17,393
Forks942
Last commit7 days ago
BuildKitBuildKit

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

Stars10,243
Forks1,511
Last commit1 day 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