Deploy Flipt to Fly.io with Postgres
Fly.io is a platform for running applications close to users. This guide will show you how to deploy Flipt to Fly.io and configure Flipt to use a Postgres database, also managed by Fly.io.
In this guide, you will learn how to deploy Flipt to Fly.io with Postgres. You’ll also learn how to configure Flipt with environment variables.
By the end of this guide, we will have:
flyctl
CLI installed on your local machine (Installation guide: https://fly.io/docs/getting-started/installing-flyctl/)fly auth login
.cd
into a new directory for your Flipt deployment. (e.g. mkdir flipt-test && cd flipt-test
)We specify the ghcr.io/flipt-io/flipt:latest
image, which is the
latest stable release of Flipt. You can also use a specific version of Flipt
by replacing latest
with a specific version tag (e.g.
ghcr.io/flipt-io/flipt:v1.23.0
).
Note the Postgres database connection string that’s printed during the launch process. You will need this to configure Flipt.
After the launch process completes, it will write a fly.toml
file to your current directory. You can configure the number of instances, memory, and CPU allocated to your Flipt deployment. You can also set environment variables to customize Flipt’s configuration.
For more information, refer to the Fly.io documentation and the Flipt documentation.
Before deploying Flipt, we’ll need to set the FLIPT_DB_URL
secret to point to your newly configured Postgres database.
You can do this with the following command, replacing <your-db-url>
with the connection string from the launch process and appending the db name (postgres) and ?sslmode=disable
:
fly deploy
.After deployment, you can verify if Flipt is running correctly by accessing the Flipt UI on the provided Fly.io URL or issue the command fly open
in the CLI to open your newly deployed Flipt instance in the browser.
You can configure Flipt with environment variables in the fly.toml
file. For example, to configure Flipt to use a custom port and enable DEBUG logging you can add the following to the fly.toml
file:
After making changes to the fly.toml
file, you can deploy the changes with fly deploy
.
If you encounter any issues during the deployment, check the logs on Fly.io for any error messages:
Enabling DEBUG logging as shown above can be helpful for troubleshooting any issues during Flipt startup.
Deploying Flipt to Fly.io allows you to get up and running with Flipt quickly. For production deployments however, you’ll likely want to configure Flipt with authentication as well as consider configuring caching, observability, and using a read replica for your database.
For more information on production deployments, refer to the Deployment section of the documentation.