Site Logo
mnjm

Fly.io - Why is it awesome

Posted on 3 mins

Hosting

Fly.io - Why is it awesome

Fly.io is a cloud hosting platform, similar to AWS, Google Cloud, and Oracle Cloud. What sets them apart, however, is they are completely built upon Docker. What does this mean for you? If you want to host something — be it a website, an app, or a personal project — all you need to do is Dockerize it and push it to Fly.io for hosting. It’s that simple. Just select the VM specs, and Fly.io takes care of the rest.

Think of it as AWS on easy mode, especially if you have a basic understanding of Docker. Moreover, they operate entirely through a command line tool , enabling you to create projects, customize settings, stop, and manage projects effortlessly. This also means you can script it for automation.

One notable aspect is that, unlike other CI/CD providers, Fly.io doesn’t restrict their ‘Free Builders’ based on a certain number of minutes. They are always available for free use!

Additionally, they offer a free tier to help you get started.

Free Tier

Edit: From 2024, Fly.io has locked the Free tier behind $5 per month Hobby Plan 😔

However, their free tier is somewhat limited compared to what Google and Oracle Cloud offer. Nonetheless, if you’re considering a paid plan, they do provide pricing that is similar to AWS. As of my last check, the following are the limits for their free offerings.

Activating your account, even for the free tier, requires an International Credit Card, but rest assured, you will not be charged. More details can be found here

Also, please note that this falls under the hobby plan (Pay as you use), but you have to enable it to incur charges. Make sure to set up monitoring limits to ensure you won’t get charged unexpectedly.

Steps to host:

Install Fly command line and signin

  1. Install flyctl command line tool on local machine
  2. Signup - Not required if your machine is already linked to your account
  3. Login if you have account created through web portal

Launch the app

[build]
[http_service]
   internal_port = 8080
   force_https = true
   auto_stop_machines = true
   auto_start_machines = true
   min_machines_running = 0
   processes = ["app"]
Thats it! By now, your app should be hosted by Fly.io

Monitoring Logs

References