I made a docker-based environment management tool: draky

Introducing Draky: A Lightweight, Docker-Based Environment Management Tool for Power Users

In the evolving landscape of development workflows, managing multiple environments efficiently remains a common challenge. Today, I am pleased to introduce Draky, an open-source, Docker-centric environment management tool designed for developers who value control, flexibility, and simplicity.

What is Draky?

Launched after nearly two years of development, Draky is a non-opinionated, lightweight utility that streamlines environment management by working closely with docker-compose.yml. Unlike many monolithic solutions, Draky doesn’t attempt to solve every possible scenario out-of-the-box. Instead, it focuses on smoothing out the typical frustrations of working directly with Docker Compose configurations, all while allowing full visibility and editing of your compose files.

You can explore Draky and its documentation at https://draky.dev, or jump straight into the tutorial here: https://draky.dev/docs/tutorials/basics.

Why Choose Draky?

Many developers work across diverse tech stacks, and existing tools like DDEV, Docksal, or Lando are popular for environment management. However, these solutions often come with opinionated workflows and vendor-specific concepts that may not suit everyone โ€” especially power users seeking granular control.

Draky addresses this gap by offering a generic, extensible, and developer-friendly approach tailored for those comfortable with Docker Compose. Its core philosophy emphasizes:

  • Minimal opinionation: Leverage the familiar docker-compose.yml structure.
  • Enhanced control: Manage complex setups without vendor lock-in.
  • Reusability: Encapsulate service configurations in separate, portable files.
  • Configurability: Seamlessly handle multiple environments and configurations.
  • Transparency: Generate docker-compose.yml dynamically from customizable recipes.

Key Features and Capabilities

Encapsulated and Reusable Service Definitions

With Draky, you can store individual service configurations in separate files outside the main docker-compose.yml. These service snippets use relative paths for volumes and dependencies, enabling easy copying and reuse across projects.

Flexible Command Integration

Create custom commands and scripts that interact with your containers, either inside or outside of services. For instance, you can define a script to access a MariaDB client within the database service:

“`bash
draky mariadb -e “SHOW VARIABLES LIKE


Leave a Reply

Your email address will not be published. Required fields are marked *