I’ve been a long time admirer-er of Zeit. Besides the technical part (which is really good), their platform gives people really easy, understandable and (most importantly) trustworthy tools to get a real app into production. I’ve wanted something like this to exist for Kubernetes for a while (I even wrote about that, but I digress.)

The platform was for just Node applications for a while, but containers are a thing y’all, and Zeit lets you deploy them to its platform now (they announced it mid August.) It does all the same stuff as it does for Node, but with Docker:

Write a Dockerfile

Run now

Profit

There’s a ton going on there in step 2, but the basics:

Push the Dockerfile and context up to Zeit

Zeit does the docker build on their infrastructure

Zeit pushes the image to their registry (I assume they run an internal registry but no idea really)

Zeit pulls the image into their serving infrastructure, configures it, does routing, checks if you paid and gives you all the amazing hardware if you have and otherwise runs you on a RaspberryPi and runs your image on their servers

I mean, I’ve blogged about ACR Builds before, but this is next level. One command gives you everything.

Athens-ing it Up

There’s this rad project I know about. Something about Go and dependencies IDK but it has a Dockerfile and you can do cool stuff with it. So why not see if Zeit can handle this beast??

I had to tweak the Dockerfile a little bit because the CLI (now) doesn’t let you specify custom Dockerfile locations (I don’t think???) but that was pretty much it (check out the PR.) Now I can do this:

That’s using a multi stage build to build Athens inside a Dockerfile, on Zeit’s infrastructure. And I inception-ed it because I used a hosted Athens module proxy to build Athens itself inside the build, on Zeit’s infrastructure.