8 ms·
Launch HN: Depot (YC W23) – Fast Docker Builds in the Cloud
Hey HN! We’re Kyle and Jacob, the founders of Depot (https://depot.dev https://depot.dev), a hosted container build service that builds Docker images up to 20x faster than existing CI providers. We run fully managed Intel and Arm builders in AWS, accessible directly from CI and from your terminal.
Building Docker images in CI today is slow. CI runners are ephemeral, so they must save and load the cache for every build. They have constrained resources, with limited CPUs, memory, and disk space. And they do not support native Arm or multi-platform container builds, and instead require emulation.
Over 4 years of working together, we spent countless hours optimizing and reoptimizing Dockerfiles, managing layer caching in CI, and maintaining custom runners for multi-platform images. We were working around the limitation of multi-platform builds inside of GitHub Actions via QEMU emulation when we thought "wouldn't it be nice if someone just offered both an Intel and Arm builder for Docker images without having to run all that infrastructure ourselves". Around January of 2022 we started working on Depot, designed as the service we wished we could use ourselves.
Depot provides managed VMs running BuildKit, the backing build engine for Docker. Each VM includes 16 CPUs, 32GB of memory, and a persistent 50GB SSD cache disk that is automatically available across builds—no saving or loading of layer cache over the network. We launch both native Intel and native Arm machines inside of AWS.
This combination of native CPUs, fast networks, and persistent disks significantly lowers build time — we’ve seen speedups ranging from 2x all the way to 20x. We have customers with builds that took three hours before that now take less than ten minutes.
We believe that today we are the fastest hosted build service for Docker images, and the only hosted build service offering the ability to natively build multi-platform Docker images without emulation.
We did a Show HN last September: https://news.ycombinator.com/item?id=33011072 https://news.ycombinator.com/item?id=33011072. Since then, we have added the ability to use Depot in your own AWS account; added support for Buildx bake; increased supported build parallelism; launched an eu-central-1 region; switched to a new mTLS backend for better build performance; simplified pricing and added a free tier; and got accepted into YC W23!
Depot is a drop-in replacement for `docker buildx build`, so anywhere you are running `docker build` today, you replace it with `depot build` and get faster builds. Our CLI is wrapping the Buildx library, so any parameters you pass to your Docker builds today are fully compatible with Depot. We also have a number of integrations that match Docker integrations inside of CI providers like GitHub Actions.
We’re soon launching a public API to programmatically build Docker images for companies that need to securely build Docker images on behalf of their customers.
You can sign up at https://depot.dev/sign-up https://depot.dev/sign-up, and we have a free tier of 60 build minutes per month. We would love your feedback and look forward to your comments!
- rubenfiszel 4y agoWe've been very happy customer at https://github.com/windmill-labs/windmill https://github.com/windmill-labs/windmill, all of our docker builds are on depot and it replaced our fleet of github runners on hetzner :)
- kylegalbraith 4y agoThanks for the very kind words, we're super excited to be working with you all at Windmill!
- mmastrac 4y agoIf ARM continues to take off, this will be a pretty useful tool. I'm building Rust native binaries for one of my projects using buildx, but it's 1) way too slow using buildx emulation and 2) way too slow to build on the Pi itself. In the end I created a hacky build process where I use a single container to build both the x64 and ARM versions serially, and then create multi-arch containers in a separate step. It was very painful to get the right native libraries installed, and it's not terribly easy to build these two platforms in parallel. In short, having access to real ARM builders would be great, and persistent disks would probably boost my build performance quite a bit. The dockerfile that I had to use: https://github.com/mmastrac/progscrape/blob/master/Dockerfile https://github.com/mmastrac/progscrape/blob/master/Dockerfil... Example build run (~20 mins): https://github.com/mmastrac/progscrape/actions/runs/4228529821/jobs/7344065110 https://github.com/mmastrac/progscrape/actions/runs/42285298...
- kylegalbraith 4y agoHey there! I'm the other half of Depot. This is an awesome tool you have built, I have actually been looking for something like this for myself as well. Couldn't agree more with the pain points you mention, it was the biggest things that led us to start Depot and we're really excited about what we can do next. If you ever want to do way with your hacky build process and try out Depot, we have a free tier now.
- 4y ago