Depot

Depot is a remote container build service designed to accelerate Docker image compilation by replacing traditional local or CI provider-based builds with optimized cloud infrastructure. It functions as a drop-in replacement for standard docker build commands while delivering 3-40x faster builds.

What It Is

A managed build service that routes Docker build commands to dedicated virtual machines running BuildKit. Rather than executing builds within generic CI providers like GitHub Actions, Depot provisions specialized infrastructure specifically optimized for container compilation.

Key Features

Performance & Speed

  • 3-14x faster than generic CI providers (GitHub Actions, CircleCI)
  • 40x+ improvements documented in real-world cases (PostHog, Mastodon)
  • Persistent layer caching that makes all builds incremental
  • Initial builds complete 10x-40x faster than traditional approaches

Multi-Platform Builds

  • Emulation-free native builds: Native Intel and ARM virtual machines run simultaneously
  • No cross-architecture performance penalty: Builds run at native speed without software emulation
  • Automatic architecture detection: Routes builds to matching hardware
  • Direct multi-architecture registry push: Build and push dual x86/ARM64 images simultaneously

Build Infrastructure

  • Managed VMs: 4 CPUs, 8GB memory, 50GB persistent SSD cache per build
  • Global distributed cache: Persistent cache layers across builds within same project
  • AWS deployment: Native AWS infrastructure with option for custom AWS accounts
  • Automatic scaling: Handles build load without consuming local resources or CI compute quotas

Integration

  • Drop-in replacement: Replace docker build with depot build
  • Docker Compose support: Works with existing Docker Compose workflows
  • Dev Container integration: Seamless integration with development environment setups
  • goreleaser support: Direct integration for release automation
  • buildx compatible: Works with Docker’s buildx multi-platform tooling
  • OIDC authentication: Secure integration without explicit credential storage

How It Works

Basic Usage

# Install CLI  
curl -L https://depot.dev/install-cli.sh | DEPOT_INSTALL_DIR=/usr/local/bin sh  
  
# Configure Docker to use Depot  
depot configure-docker  
  
# Use exactly like docker build  
docker build -t myregistry.com/app:latest .  

Multi-Platform Build

docker buildx build \  
  --platform linux/amd64,linux/arm64 \  
  -t myregistry.com/app:latest \  
  --push \  
  .  

CI/CD Integration (Buildkite Example)

steps:  
  - label: ":docker: Build with Depot"  
    command: |  
      curl -L https://depot.dev/install-cli.sh | DEPOT_INSTALL_DIR=/usr/local/bin sh  
      depot configure-docker  
      docker build -t registry.example.com/app:${BUILDKITE_BUILD_NUMBER} .  
    env:  
      DEPOT_PROJECT_ID: "${DEPOT_PROJECT_ID}"  
      DEPOT_TOKEN: "${DEPOT_TOKEN}"  

Performance Characteristics

Real-World Examples

  • PostHog: 162m 30s → 4m 1s with Depot (40x improvement)
  • Mastodon: 31m 52s → 2m 49s with Depot (11x improvement)
  • gRPC: 11x faster compilation
  • Typical cached builds: ~8 minutes GitHub Actions → ~3 minutes Depot initial builds

Architecture

  • Persistent cache works automatically with depot configure-docker
  • No manual cache configuration required
  • Cache persists across builds within same project
  • Supports multiple build tool caching (Bazel, Go, Gradle, Turborepo, sccache, Pants)

Use Cases

  • CI/CD Optimization: Dramatically reduce pipeline execution time and resource consumption
  • Multi-Platform Container Distribution: Build and push images for multiple architectures natively
  • Local Development: Accelerate local container builds without impacting system resources
  • Release Workflows: Integrate with goreleaser and other release automation
  • Dev Container Setup: Faster container environment builds for development
  • Cost Reduction: Offload intensive builds from CI provider compute quotas

Comparison Points

vs. Local docker build: Slower locally but frees up developer machine resources; better for CI

vs. GitHub Actions Docker Build: 3-14x faster with persistent caching; no emulation overhead

vs. Traditional BuildKit: Similar to BuildKit but with managed infrastructure and persistent caching

vs. Custom Build Infrastructure: Reduces DevOps overhead of managing build machines

Getting Started

  1. Sign up for Depot account
  2. Install Depot CLI: curl -L https://depot.dev/install-cli.sh | sh
  3. Create a project and get DEPOT_PROJECT_ID and DEPOT_TOKEN
  4. Configure Docker: depot configure-docker
  5. Replace docker build with depot build or use with docker buildx
  6. Monitor build times and cache effectiveness in Depot dashboard

Practical Considerations

Best for: Teams with multi-platform container requirements, slow CI builds, frequent image releases

Cost: Pay-per-build model; saves CI provider compute costs

Learning curve: Minimal; works as drop-in replacement for docker build

Ecosystem: Works with Docker, buildx, Docker Compose, Dev Containers, goreleaser


References

  • Official Depot website: https://depot.dev
  • Remote container build service specializing in speed and multi-platform support
  • Integrates with modern CI/CD and container workflows