Fly.io and Hangar both run your containers and bill by the second, but they are built for different ways of working. Fly.io gives you machines, a CLI and a global network to assemble. Hangar gives you a push-to-deploy workflow where the platform makes those decisions.
Facts about Fly.io below come from its public documentation as of October 2026. Check fly.io/pricing for the current state.
At a glance
| Hangar | Fly.io | |
|---|---|---|
| How you deploy | Push to Git, or from the dashboard | fly deploy from the CLI |
| Configuration | Dashboard | fly.toml and CLI commands |
| Builds | Automatic (Railpack), Dockerfile, buildpacks | Dockerfile, or a generated one |
| Compute billing | Per second, on CPU and memory in use | Per second, on the machine size provisioned |
| Storage | Metered on space used | $0.15 per GB a month of provisioned volume |
| Egress | Metered per GB, private traffic free | $0.02 to $0.12 per GB depending on region |
| Managed databases | PostgreSQL, MySQL, MariaDB, MongoDB, Redis, libSQL | Managed Postgres; others you run yourself |
| Preview per pull request | Built in | Through your own CI |
Workflow
On Fly.io you install flyctl, describe the app in fly.toml and deploy from your terminal or from a CI pipeline you write. That is powerful, and it is yours to maintain.
On Hangar you connect the repository once. Every push builds and deploys, each pull request can get a preview, and rollbacks, logs and metrics are in the dashboard. There is no CLI to install and no pipeline to write.
Pricing
Fly.io bills machines for the size you provision while they are started. A shared-cpu-1x machine with 256 MB is about $3.73 a month and with 1 GB about $7.08, in its Virginia region; stopped machines pay only for their root filesystem. Volumes are $0.15 per GB a month, and egress depends on the region, from $0.02 per GB in North America and Europe to $0.04 in South America and Asia Pacific and $0.12 in Africa and India.
Hangar meters the CPU and memory your services consume, not the size you reserved, against a plan whose subscription becomes usage credit. Traffic between your services is free. Plans and rates are on the pricing page.
Databases
Fly.io offers Managed Postgres. Other engines run as apps you deploy and operate yourself, including their backups.
Hangar manages PostgreSQL, MySQL, MariaDB, MongoDB, Redis and libSQL as services of your project, with credentials generated for you and backups scheduled from the dashboard.
When Fly.io is the better choice
- You need to run the same app in many regions close to users around the world.
- You want machines that stop when idle and start on the first request.
- You want low-level control: machine sizes, private networking between regions, your own deploy pipeline.
- You prefer infrastructure driven from a terminal.
When Hangar is the better choice
- You want deploys on git push with no CLI and no pipeline to maintain.
- You want databases other than Postgres managed for you.
- You want previews per pull request, rollbacks and observability without assembling them.
- You want spend limits per project and billing in your local currency where Hangar has a local market.
Moving from Fly.io to Hangar
- Create a project and add a service from your repository. Choose the Dockerfile builder: the Dockerfile you deploy with on Fly.io builds as it is.
- Move your secrets. The output of
fly secrets listnames them; set each one in the service's environment. - Take the
internal_portfromfly.tomland use it as the domain's container port. - Create the database on Hangar, restore a dump and update the connection URL.
- Add your domain and switch the DNS record once the new deploy is healthy.