Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Docker
  3. Dray

Dray

Apache-2.0Go

A RESTful engine for orchestrating sequential Docker container workflows, marshaling data between steps.

Visit WebsiteGitHubGitHub
385 stars37 forks0 contributors

What is Dray?

Dray is an engine for managing the execution of container-based workflows. It enables users to define jobs as sequences of Docker containers, where each container encapsulates a discrete task, and Dray handles the orchestration and data flow between them. This approach is particularly useful for automating complex, multi-step processes like data pipelines, provisioning tasks, or batch processing.

Target Audience

Developers and DevOps engineers who need to automate multi-step processes using Docker containers, such as building data pipelines, provisioning infrastructure, or running batch jobs. It is suited for those who want to chain single-purpose task containers together in a reproducible manner.

Value Proposition

Dray extends Docker beyond long-running services by treating containers as isolated, single-purpose tasks that can be chained together into reproducible workflows, promoting modularity and automation. It provides a simple RESTful API for job management and handles data marshaling between steps, similar to Unix pipes, making it easy to integrate and automate complex workflows.

Overview

An engine for managing the execution of container-based workflows.

Use Cases

Best For

  • Automating data pipelines where each step is a Docker container that processes data and passes output to the next step.
  • Provisioning and configuring cloud infrastructure (e.g., AWS clusters) through a sequence of containerized tasks.
  • Running batch processing jobs that require sequential execution of multiple Docker containers with error handling.
  • Building reproducible workflows for testing or deployment where each step is isolated in a container.
  • Orchestrating multi-step CI/CD processes using Docker containers for each build, test, or deployment task.
  • Creating modular automation scripts where tasks are encapsulated in Docker images and chained together with data flow between them.

Not Ideal For

  • Projects requiring active maintenance and community support, as Dray is explicitly no longer maintained.
  • Workflows needing parallel execution or complex dependency graphs (DAGs), since Dray only supports sequential steps.
  • Teams wanting built-in GUI dashboards or advanced monitoring, as Dray is API-only with basic log retrieval.
  • Environments with strict security policies that restrict Docker socket access, which Dray requires to launch containers.

Pros & Cons

Pros

Simple Sequential Orchestration

Executes Docker containers in order with automatic error handling—proceeding only on zero exit codes—making it easy to define linear workflows like data pipelines.

Flexible Data Marshaling

Supports passing data between steps via stdout, stderr, or custom files, similar to Unix pipes, allowing containers to output in various ways without modification.

RESTful API Integration

Provides endpoints for job creation, monitoring, and log retrieval, enabling easy automation and integration with external tools or scripts.

Environment Variable Configuration

Allows injection of environment variables at both job and step levels, facilitating runtime customization without rebuilding container images, as shown in the AWS provisioning example.

Cons

Abandoned Project

The README states it is no longer maintained, meaning no updates, bug fixes, or security patches, posing significant risk for production use.

Sequential-Only Execution

Lacks support for parallel tasks or complex workflows, limiting scalability for modern pipeline needs compared to tools like Airflow or Argo.

Dependency and Setup Overhead

Requires Redis for persistence and direct Docker socket access, adding operational complexity and potential security vulnerabilities, as noted in the setup instructions.

Frequently Asked Questions

Quick Stats

Stars385
Forks37
Contributors0
Open Issues5
Last commit6 years ago
CreatedSince 2014

Tags

#devops#batch-processing#redis#workflow-orchestration#rest-api#docker#data-pipeline#go#task-scheduling

Built With

G
Go
D
Docker
R
Redis

Links & Resources

Website

Included in

Docker35.8k
Auto-fetched 1 day ago

Related Projects

PreevyPreevy

Quickly deploy preview environments to the cloud!

Stars2,209
Forks89
Last commit3 months ago
ShutitShutit

Automation framework for programmers

Stars2,140
Forks110
Last commit3 years ago
udockerudocker

A basic user tool to execute simple docker containers in batch or interactive systems without root privileges.

Stars1,747
Forks167
Last commit9 months ago
dexecdexec

:whale: Command line interface for running code in many languages via Docker.

Stars332
Forks14
Last commit5 years 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