You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.0 KiB

Based on the provided fly.toml configuration file, here's a deployment guide for your esp32-temp-chart application on Fly.io. This guide assumes that you have already developed a Flask application that is ready to be deployed.

Prerequisites

  1. Fly.io Account: Ensure you have a Fly.io account. If not, sign up at Fly.io.
  2. Fly CLI: Install the Fly CLI tool. Instructions can be found on the Fly.io documentation.
  3. Docker: Your application must be containerized with Docker. Install Docker if it's not already installed.
  4. Local Application Code: Have your Flask application code ready on your local machine.

Step-by-Step Deployment Guide

1. Initialize Your Fly.io Application

  • Navigate to your project directory in the terminal.
  • Run flyctl apps create esp32-temp-chart. This command creates a new application on Fly.io with the name specified in your fly.toml file.

2. Configure the fly.toml File

  • Place your fly.toml file in the root of your project directory.
  • Review the fly.toml file to ensure all configurations are correct. Particularly, check the app name, primary_region, and the http_service configurations.

3. Set Up Docker

  • Create a Dockerfile in your project root. This file should contain instructions to build a Docker image for your Flask application.
  • Ensure that your application listens on the port specified in fly.toml (8080 in this case).

4. Test Your Docker Container Locally (Optional)

  • Build your Docker image: docker build -t esp32-temp-chart .
  • Run your container locally to ensure it works: docker run --rm -p 8080:8080 esp32-temp-chart
  • Test the local deployment by navigating to http://localhost:8080.

5. Deploy Your Application

  • From your project directory, run flyctl deploy. This command will build your application's Docker image and deploy it to Fly.io.
  • Monitor the deployment process in your terminal to ensure it completes successfully.

6. Verify the Deployment

  • Once deployed, you can access your application using the URL provided by Fly.io.
  • Test the /ping endpoint to ensure your application responds correctly.

7. Monitoring and Management

  • Use flyctl logs to view real-time logs from your application.
  • Use flyctl status to check the status of your application.
  • To scale your application, use flyctl scale count <number_of_instances>.

Additional Notes

  • The [[mounts]] section in fly.toml is used to persist data. Ensure the source and destination are correctly set for your application's data needs.
  • The [checks] section defines health checks for your application. Adjust the path, interval, and headers as needed for your application's health endpoint.

Remember, always test your application locally before deploying to ensure it's working as expected. If you encounter issues, the Fly.io documentation and community forums are great resources for troubleshooting.