You can use Depot to build your container images for Fly.io. This guide will show you how to integrate Depot into your Fly.io deployment pipeline.
Once you have a Fly.io account, you can create and deploy a new app using the Fly CLI. You can install the Fly CLI using the methods described in the Fly.io documentation.
You have two options for integrating Depot with Fly.io, you may build the image with depot build
using your Depot account and push it to Fly.io, or you can use the --depot
flag with the flyctl deploy
command to use Depot as the builder on Fly.
Before you can build and push your container images with Depot to your Fly registry, you need an account with Depot. If you don't already have one, you can sign up at depot.dev/start. Once you have an account, you need to create a Depot project for accelerated Docker image builds.
With an account and project, all that is left is installing the Depot CLI by running the following command:
When using Depot as the builder for your Fly.io apps, you will not need to connect a Depot account.
Simply specify Depot as the builder with the --depot
flag when deploying and automatically take advantage of Depot's accelerated builds.
Alternatively, if you are running Fly machines directly you can use the --build-depot
flag.
Depot's optimized build process will provide instant caching across all builds within your Fly.io organization, sharing layers between all your apps and deployments.
Once an app is created in Fly.io, you will also have a container registry at registry.fly.io/<your-app-name>
. You can push your container images to Fly.io from Depot.
If you haven't already, run depot init
in the root directory of the container image you're building with Depot. This will prompt you to authenticate your CLI and choose the project you created earlier.
Next, you need to authenticate to the Fly registry for your app using the Fly CLI. You can do this by running:
Using Depot, you can now build and push your container image to the Fly registry. Replace <your-app-name>
with the name of your Fly.io app and <some-tag>
with the tag you want to use for the image.
Finally, using the Fly CLI, you can deploy the image to your Fly.io app. Replace <your-app-name>
with the name of your Fly.io app and <some-tag>
with the tag you used for the image.