DEV.co
Open-Source DevOps · earthly

earthly

Earthly is a container-based build framework that combines Dockerfile and Makefile concepts to create repeatable, portable builds. However, the project is no longer actively maintained as of the shutdown announcement, which significantly impacts its viability for new projects.

Source: GitHub — github.com/earthly/earthly
12k
GitHub stars
455
Forks
Go
Primary language
MPL-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryearthly/earthly
Ownerearthly
Primary languageGo
LicenseMPL-2.0 — OSI-approved
Stars12k
Forks455
Open issues741
Latest releasev0.8.16 (2025-07-16)
Last updated2025-10-23
Sourcehttps://github.com/earthly/earthly

What earthly is

Earthly uses BuildKit-based containerized execution with layer caching, DAG-based parallelism, and multi-target build composition to provide language-agnostic CI/CD automation. It interprets Earthfiles (similar to Dockerfiles) and wraps existing build tools without replacement, but active development has ceased.

Quickstart

Get the earthly source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/earthly/earthly.gitcd earthly# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Monorepo and Polyrepo Build Orchestration

Earthly's cross-file target referencing and DAG-based parallelism suit teams managing multiple codebases or monorepos needing consistent, portable build logic independent of CI platform.

Containerized Local Development Parity

Ensures builds run identically on developer laptops, shared machines, and CI runners by isolating execution in containers, reducing 'works on my machine' issues.

Polyglot Build Standardization

Supports projects using Go, Python, Node, Java, Rust, C++, and other languages without rewriting existing toolchains; acts as a single build entry point across heterogeneous stacks.

Implementation considerations

  • Verify team familiarity with Dockerfile syntax and container concepts; Earthfile learning curve is shallow but requires Docker/OCI knowledge.
  • Assess existing CI/CD platform integration needs (Jenkins, GitHub Actions, GitLab CI, Circle CI); Earthly sits as middleware requiring both sides to be configured.
  • Establish a plan for long-term maintenance: fork, patch, or migrate to alternatives if critical bugs or security issues arise post-shutdown.
  • Evaluate caching strategy (local vs. shared/Satellites) for team size; shared caching performance depends on network and runner infrastructure.
  • Document Earthfile patterns and best practices internally, as upstream documentation maintenance may lag or become stale.

When to avoid it — and what to weigh

  • Requires Active Maintenance and Support — Project is no longer actively maintained. No new features, security patches, or upstream fixes should be expected. High risk for production deployments without internal expertise.
  • Needs Vendor Support or SLA — Earthly Cloud (commercial offering) is being shut down. No commercial support path or guaranteed uptime available; community-only support remains uncertain.
  • Enterprise Compliance and Auditing — Stale maintenance status complicates compliance reviews, vulnerability disclosure, and long-term security risk management typical in enterprise environments.
  • Windows or Non-Linux Environments — Earthly requires Linux/containers for execution; no native Windows build support. Requires WSL or container runtime on Windows machines.

License & commercial use

Earthly is licensed under Mozilla Public License 2.0 (MPL-2.0), a weak copyleft license. Source code modifications must be disclosed, but linking and distribution of binaries are permissible; commercial use is allowed under the terms of MPL-2.0.

MPL-2.0 permits commercial use and distribution of unmodified binaries without source disclosure obligations. However, modifications to Earthly itself must be published. No commercial support or SLA available due to project shutdown; reliance is purely on community and internal resources.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceStale
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitPossible
Assessment confidenceHigh
Security considerations

Earthly runs builds in containerized environments, which isolates execution and reduces environment-specific attack surface. However, with the project no longer actively maintained, no security patches or vulnerability disclosures should be expected. Organizations must assess their risk tolerance for using unmaintained infrastructure-level software. Supply chain security depends on base images and dependencies used in Earthfiles; users are responsible for image updates. No security audit or compliance certifications mentioned in available data.

Alternatives to consider

Make / GNU Make

Simple, ubiquitous, language-agnostic build tool. Lacks containerization and cross-platform portability, but requires no external dependencies and is actively maintained.

Bazel

High-performance, language-aware build system with excellent caching and parallelism. Steeper learning curve and more opinionated than Earthly, but actively maintained by Google with strong community support.

Nix / Nix Flakes

Declarative, reproducible build framework with built-in dependency management and caching. Smaller learning curve for some teams, actively maintained, though ecosystem is less familiar to mainstream developers.

Software development agency

Build on earthly with DEV.co software developers

Given Earthly's maintenance status, carefully evaluate your team's capacity to fork, patch, and maintain the tool independently. For active projects requiring long-term vendor support, consider alternatives like Bazel or Nix. For existing Earthly deployments, plan a migration path.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

earthly FAQ

Is Earthly still supported?
No. The README explicitly states 'Earthly is no longer actively maintained' and links to a shutdown announcement. The commercial Earthly Cloud service is shutting down. Community support only.
Can I use Earthly in production?
Possible, but risky. No vendor support, no security patches, and no guaranteed bug fixes. Suitable only if your team has capacity to maintain and patch internally, or if you are accepting technical debt.
What is the license, and can I use it commercially?
MPL-2.0 (Mozilla Public License 2.0) permits commercial use and distribution of unmodified binaries. If you modify Earthly itself, those modifications must be disclosed. No commercial support is available.
How does Earthly differ from Dockerfiles and Makefiles?
Earthly combines syntax familiarity with Dockerfile (FROM, RUN, COPY) and Makefile (targets, dependencies) into a single specification. It treats build steps as containerized targets with explicit dependencies, enabling DAG-based parallelism and shared caching. It uses the same BuildKit technology as Docker but extends it for general-purpose builds.

Custom software development services

DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If earthly is part of your open-source devops roadmap, our team can implement, customize, migrate, and maintain it.

Assessing Earthly for Your Build Pipeline?

Given Earthly's maintenance status, carefully evaluate your team's capacity to fork, patch, and maintain the tool independently. For active projects requiring long-term vendor support, consider alternatives like Bazel or Nix. For existing Earthly deployments, plan a migration path.