Fly.io alternative for the apps that fit in the old free tier
Fly.io is built for people who want machines, regions and a CLI. When all you ran was a bot or a small web app inside the old free allowance, that is more platform than the job needs. A repository, a Deploy button and an https address cover it.
Moving a Fly app
- The source is in a repository already: connect it. The
fly.tomlis ignored; the runtime is read from the repository, and the start command is yours to set when the default guess is wrong. - Move secrets from
fly secretsto environment variables. - Volumes become the
/datafolder, which persists across deploys. - Deploy, then point your domain at the app.
What you give up
Multiple regions per app, machines you scale by hand, a CLI and Dockerfile-first deploys. If you use those, stay on Fly. If your app was one machine in one region, nothing is lost.
What you get
A free tier that is free, a live console with a crash doctor, redeploys on push, a public https address, managed databases on a private network, and a bill that is a flat monthly amount rather than usage.
Frequently asked questions
Can I bring a Dockerfile?
Bring the source instead: Node.js, Python, Go, Java, PHP, Ruby, Rust, C# and static sites are detected from the repository and built on deploy.
Is there a CLI?
No. Deploys come from GitHub pushes or the panel's Redeploy button; the panel has the console, logs and environment variables.
How does the public address work?
Give the app a web address in the panel and it is served at https://name.fadehost.app behind the Cloudflare proxy with a certificate. It comes with the plan on every tier. On the free tier the address sleeps when nobody has used it for a while and wakes on the next request; on a paid tier it stays awake. Your own domain can point at it.
What happens on a deploy?
The repository is cloned at your branch, dependencies install, the build runs when there is one, the app starts. With auto-deploy on, every push does the same. The live console shows each step; a failed one is explained in plain words.