DEV Community

Alex Spinov
Alex Spinov

Posted on

Depot Has a Free API That Makes Docker Builds 20x Faster

Depot is the remote Docker build service that caches layers in the cloud. Your CI builds go from 10 minutes to 30 seconds — without changing your Dockerfile.

What Is Depot?

Depot runs your Docker builds on fast remote machines with persistent caching. No more pulling base images, no more rebuilding unchanged layers.

Quick Start

# Install
curl -L https://depot.dev/install-cli.sh | sh

# Login
depot login

# Build (drop-in replacement for docker build)
depot build -t myapp:latest .
Enter fullscreen mode Exit fullscreen mode

How It Works

# Normal Docker build: ~10 minutes
docker build -t myapp:latest .  # Downloads base image, installs deps, compiles...

# Depot build: ~30 seconds
depot build -t myapp:latest .  # Cached layers, fast machines, instant base images
Enter fullscreen mode Exit fullscreen mode

Depot keeps your build cache in the cloud. Second builds only rebuild changed layers.

GitHub Actions Integration

# .github/workflows/build.yml
name: Build
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: depot/setup-action@v1
      - uses: depot/build-push-action@v1
        with:
          project: YOUR_PROJECT_ID
          push: true
          tags: ghcr.io/user/myapp:${{ github.sha }}
Enter fullscreen mode Exit fullscreen mode

Multi-Platform Builds

# Build for both AMD64 and ARM64 — simultaneously
depot build --platform linux/amd64,linux/arm64 -t myapp:latest .
Enter fullscreen mode Exit fullscreen mode

Depot runs AMD64 and ARM64 builds on native hardware — no QEMU emulation.

The API

export DEPOT_TOKEN="your-api-token"

# List projects
curl -s 'https://depot.dev/api/v1/projects' \
  -H "Authorization: Bearer $DEPOT_TOKEN" | jq '.projects[].name'

# Get build history
curl -s 'https://depot.dev/api/v1/projects/PROJECT_ID/builds' \
  -H "Authorization: Bearer $DEPOT_TOKEN" | jq '.builds[] | {id, status, duration}'

# Trigger build via API
curl -s -X POST 'https://depot.dev/api/v1/projects/PROJECT_ID/builds' \
  -H "Authorization: Bearer $DEPOT_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"ref": "main"}'
Enter fullscreen mode Exit fullscreen mode

Bake Support

// docker-bake.hcl
group "default" {
  targets = ["api", "web", "worker"]
}

target "api" {
  context = "./api"
  tags = ["myapp/api:latest"]
}

target "web" {
  context = "./web"
  tags = ["myapp/web:latest"]
}
Enter fullscreen mode Exit fullscreen mode
# Build all targets in parallel
depot bake
Enter fullscreen mode Exit fullscreen mode

Performance Comparison

Scenario Docker (GitHub Actions) Depot
First build 8-12 min 3-5 min
Cached build 4-6 min 10-30 sec
Multi-platform 20+ min (QEMU) 3-5 min (native)
Cache restore Slow (download) Instant

Free Tier

Feature Free Pro ($20/mo)
Builds 200/mo Unlimited
Cache 10 GB 50 GB
Platforms AMD64 + ARM64 AMD64 + ARM64
Concurrent 1 4

Need fast Docker builds for scraping infrastructure? Scrapfly handles web scraping at scale. Email spinov001@gmail.com for containerized scraping.

Top comments (0)