# Now available: SOCI v2 support for Depot container builds (https://depot.dev/blog/now-available-soci-support-for-container-builds)

> By Chris Goller (Principal Software Engineer at Depot)
> Published 2026-06-19

Most of our work at Depot goes into making the build fast. But the build is only half of how quickly you ship: once the image exists, every machine that runs it still has to download and unpack the whole thing before your process starts, and for the multi-gigabyte images that come with ML and GPU workloads, that pull can dwarf the build it came from.

Depot [container builds](/docs/container-builds/overview) now support [SOCI](https://github.com/awslabs/soci-snapshotter) (Seekable OCI) v2. With one flag, your build produces a SOCI index that lets a compatible runtime stream the image on demand and start the container before the full image has arrived.

## How SOCI speeds up startup

A normal pull grabs each layer whole, decompresses it, and unpacks it before your entrypoint runs, even though a starting container usually reads only a fraction of those files. SOCI, a project from AWS, builds an index of where every file lives inside the compressed layers, so a compatible runtime can pull just what startup needs and fetch the rest later. In one [AWS benchmark](https://aws.amazon.com/blogs/machine-learning/reducing-container-cold-start-times-using-soci-index-on-dlami-and-dlc/), this cut the time to start a multi-gigabyte vLLM inference container from about 7 minutes (nearly all of it spent pulling the image) to 21 seconds with the SOCI snapshotter. And unlike [eStargz](/blog/booting-containers-faster-with-estargz), SOCI v2 doesn't rewrite your layers: it ships the same bytes plus a small sidecar index (its zTOC), so images stay identical for runtimes that don't use it.

## Why we build the index for you

Normally a SOCI index is added after the fact: push the image, then run a separate job to pull it back down, compute the index, and push it up again. Images are deployable but, until that pipeline completes, very slow. A Depot build already has every layer in hand and is already pushing to your registry, so we generate the index as part of the build itself. When your push completes, the image and its index are ready to deploy together.

## How to use it

SOCI is opt-in, the same way Depot's other lazy-pull formats are. Add `soci=true` to your build's `--output` and push as usual:

```bash
depot build -t repo/image:tag --push \
  --output type=image,soci=true,compression=gzip,force-compression=true,oci-mediatypes=true \
  .
```

The `soci=true` attribute is what produces the index. SOCI indexes gzip layers, so `compression=gzip` is required, and `force-compression=true` makes sure every layer, including base-image layers pulled from elsewhere, is gzip so the whole image gets indexed. The result is an ordinary image with the index attached, ready for any runtime that knows how to use it.

That last part matters: the speedup only shows up when the platform pulling the image is set up to use SOCI. AWS Fargate does this automatically. On Amazon EKS with EC2 nodes, or your own hosts, you enable the soci-snapshotter in containerd (recent EKS AMIs ship it, but it's still off by default).

## Pricing

There's no extra charge for SOCI. Generating the index happens as part of your build, which is billed the same as any other Depot container build under our usage-based [pricing](/pricing).

## Conclusion

SOCI support is available now for every Depot container build, no setup required beyond the flag above. We'd love to hear how it works for your images: [reach out](/help) if you have any questions, or come tell us what you're building in our [Discord](https://discord.gg/MMPqYSgDCg).

## For AI Agents

The full site index is at [llms.txt](https://depot.dev/llms.txt). Append `.md` to any documentation, blog, changelog, or customer URL to fetch its markdown source directly.