Free Laravel application deployment with Fly.io

In the modern digital environment, success in remote settings depends on the efficient and effective deployment of programs or services. This article gives a thorough, step-by-step walkthrough of the procedure to deploy your Laravel application on Fly.io for free.

Fly.io is another free alternative since the recent upgrade for the retirement of the free tier on Herokuapp.

Here's an article on Hosting Laravel Apps on Heroku with database if you intend to explore Heroku.

Laravel

Laravel is the most widely used and popular PHP framework for building custom, robust, and scalable web applications.

Fly

Fly is a platform for hosting databases and full-stack applications close to your users. Since 2017, the Fly.io community has been working tirelessly on this, it's turning out pretty great.

The Fly documentation is pretty neat and easy to navigate for different deployment options and more information.

Fly Installation

Fly installation is available for all operating systems.

  • For installation on Windows: Open the PowerShell command as an administrator

  • Run the command below on the terminal
powershell -Command "iwr https://fly.io/install.ps1 -useb | iex"

After successful installation close the PowerShell command and reopen it.

  • Run the command below to confirm the successful installation
flyctl

Next:

flyctl launch

If this is your first time run the command below to login or signup

flyctl auth login

After successful auth login or sign-up on the browser you'll see this output.

On the PowerShell terminal, this output will be displayed

Deploying Laravel to Fly.io

The Fly.io has a documentation guide for Laravel deployment

To keep this simple we'll use the Laravel application of this tutorial Tailwindcss 3 setup in Laravel 10 using Vite for deployment on Fly.io

Open the Laravel application in any code editor of your choice and go to the terminal.

  • Next Launch the app with the fly command
fly launch

Fly Launch helps you quickly deploy almost any kind of app using a Docker image. To learn more about the different ways to get your app ready to deploy, refer to Fly Launch.

It'll prompt you to set a name for the application and select a region.

Would you like to deploy now? Yes

After the Docker image for the application is successfully built.

The fly launch adds some files to the code base.

Here is what gets added:

  1. Dockerfile - Used to build a container image that is run in fly

  2. .dockerignore - Used to ensure certain files don't make its way into your repository

  3. fly.toml - Configuration specific to hosting on Fly

  4. .fly (formerly docker) - A directory containing configuration files for running Nginx/PHP in a container

Head over to your fly.io dashboard to view the application deployed

Run the command below on the terminal to launch the application.

fly open

Awesome!!!! Up and running.

Monitor Deployment

Deployment progress can be monitored by running flyctl status in the terminal. It will display information about the app, including the deployment status and any errors encountered.

To view application logs run the command below

 fly logs

Fly.io also has a monitoring dashboard for application logs

To view the number of resources for the application

fly scale show

Environment Variables

The fly.toml file also contains the environment variables for the application

Please do not add secrets to the fly.toml file

To set environment secret variables use the command below

flyctl secrets set DB_CONNECTION=mysql

For more Fly secret commands check here

That's all... you're good to go !!! 🌚

Conclusion

With Fly.io Laravel developers can easily speed up the application development process and make it accessible to users. Keep in mind to set up any other services or configurations that your app requires to function properly, such as database, caching, or storage systems, to meet the specifications.

Twitter: Alemsbaja | Youtube: Tech with Alemsbaja to stay updated on more articles

Find this helpful or resourceful?? kindly share and feel free to use the comment section for questions, answers, and contributions.

1
Subscribe to my newsletter

Read articles from Alemoh Rapheal Baja directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Alemoh Rapheal Baja
Alemoh Rapheal Baja

I’m a Software Engineer with over 5+ years of experience in Technology with a track record in building web applications, mobile applications and Technical Writing. Readily available to explore innovations in ICT and creatively use them to build solutions. Advancing my career in software engineering and contributing to the growth of tech communities around the world. I’m also passionate about working with organizations especially tech, security experts and airline industries to learn and also make contributions that will be a legacy. Tech is Easy to Learn - https://amazon.com/dp/B0B8T838K