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 buildwithdepot 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
- Sign up for Depot account
- Install Depot CLI:
curl -L https://depot.dev/install-cli.sh | sh - Create a project and get
DEPOT_PROJECT_IDandDEPOT_TOKEN - Configure Docker:
depot configure-docker - Replace
docker buildwithdepot buildor use withdocker buildx - 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