Fly.io
Fly.io has a native integration with Upstash where the databases are hosted in Fly. You can still access a Redis from Fly to Upstash but for the best latency, we recommend creating Redis (Upstash) inside Fly platform. Check here for details.
In this tutorial, we’ll walk you through the process of deploying a Redis by Upstash and connecting it to an application hosted on Fly.io. We’ll be using Node.js and Express for our example application, but the process can be easily adapted to other languages and frameworks.
Redis Setup
Create a Redis database using Fly CLI
Set up the Node.js application
- Create a new folder for your project and navigate to it in the terminal.
- Run
npm init -y
to create apackage.json
file. - Install Express and the Redis client:
npm install express redis
- Create an
index.js
file in the project folder with the following content:
This code creates a simple Express server that increments a counter in Redis and returns the visitor number.
Configure the Fly.io application
- Run
fly init "your-app-name"
to initialize a new Fly.io application. - Choose the “Node.js (14.x)” builder, and accept the defaults for the remaining prompts.
- Open the
fly.toml
file that was generated and add the following environment variable under the[[services]]
section:
Replace your-upstash-redis-url
with the Redis URL from your Upstash instance.
Deploy the application to Fly.io
- Run fly deploy to build and deploy your application.
- After the deployment is complete, run fly status to check if the application is running.
- Visit the URL provided in the output (e.g., https://your-app-name.fly.dev) to test your application.
Conclusion
You have successfully deployed a Node.js application on Fly.io that uses an Upstash Redis instance as its data store. You can now build and scale your application as needed, leveraging the benefits of both Fly.io and Upstash.
Was this page helpful?