What to choose
Render and Fly.io alternative: free tiers, sleeping apps and payments
In short
Render and Fly.io are convenient app hosts, but neither will keep a project running for free. A free Render web service sleeps after 15 minutes without requests, and Fly.io gives new accounts only a short trial. Both bill in dollars by bank card. Netrun does the same job and accepts a Russian card or SBP, but a website on its free plan also sleeps when nobody visits.
- A free Render web service spins down after 15 minutes without incoming requests and takes about a minute to spin back up.
- A free Render Postgres database expires 30 days after it is created.
- On the free Render plan, files an app writes to disk are lost on every deploy, restart and spin-down.
- Fly.io has no free plan for new organizations: the trial lasts up to 2 hours of machine runtime or 7 days, whichever comes first.
- Background workers and cron jobs on Render are available on paid plans only.
When Heroku dropped its free plan, many people moved to Render and Fly.io. Both are good services: they run an app from a repository or a Docker image, give you an HTTPS link and offer databases. But the terms have changed over the years. Render kept a free plan with notable caveats, and Fly.io gives new accounts no free plan at all, just a trial of a couple of hours of runtime.
The second reason to look for an alternative is payment. Render and Fly.io bill in dollars and take bank cards, and cards issued by Russian banks have not worked abroad since 2022. Below is what exactly is limited on the free plans, where you run into sleeping and where into lost files, and how to move a project if you decide to switch. No sales pitch: a free website on Netrun sleeps too, and we say so plainly.
| Criterion | Render | Fly.io | Netrun |
|---|---|---|---|
| Free plan | Yes: web services, static sites, Postgres and Key Value | Not for new accounts, trial only | Yes: one project |
| Website sleeps without visitors | After 15 minutes without requests, about a minute to wake | Machines can be set to stop when there is no traffic | Sleeps without visitors, wakes in a few seconds |
| Bot or background script for free | Background workers are paid only | Only during the trial | 3 hours of runtime, then the Pro plan |
| App files on disk | Wiped on restart and spin-down on the free plan | Persistent volumes are paid | The /data folder survives updates and restarts |
| Database | Managed Postgres, the free one expires after 30 days | Managed Postgres, paid | No database as a service: SQLite in /data or your own database in docker-compose |
| How you ship code | A git repository or a Docker image | A command-line tool and a Dockerfile | An archive, a folder, GitHub or your AI editor |
| Payment | In dollars, by bank card | In dollars, a card is required after the trial | Russian card, SBP or cryptocurrency |
Figure out what sleeping on Render costs you#
A free Render web service spins down after 15 minutes without incoming requests, and the first visit after that takes about a minute. For a study project that is tolerable, for a site you show to people it is a noticeable delay. A polling bot does badly on a free web service: it calls Telegram itself, receives no incoming requests, and the service goes to sleep with it, while background workers on Render are paid only.
Check where your project keeps its data#
On the free Render plan anything the app writes to disk, such as uploaded images or an SQLite file, is lost on every deploy, restart and spin-down. A free Postgres database there expires 30 days after creation. If your project stores anything important, find out before moving: on Netrun such files go into the persistent /data folder, which survives code updates and restarts.
Keep in mind that Fly.io is no longer free#
New Fly.io accounts get a trial of up to 2 hours of machine runtime or 7 days, whichever comes first, and trial machines stop by themselves after 5 minutes of running. After that you need a bank card and pay for what you use. If you remember Fly.io for its old free allowances, those remain only on long-standing accounts.
Prepare the project for the move#
A project from Render or Fly.io usually moves without rewriting. A website or API should listen on 0.0.0.0 and on the port from the PORT environment variable. If you have a Dockerfile, Netrun builds the project from it and takes the port from the first EXPOSE line; if not, the language is detected from the project files. You do not need to carry over fly.toml or your Render settings.
Move your environment variables and data#
Copy the environment variables from the Render dashboard or from your Fly.io secrets and add them in the Secrets tab, where they are stored encrypted. Data does not move on its own: a database file or uploads have to be moved by hand into the /data folder through the Data tab. For Postgres, run the database as a separate service in docker-compose or connect an external one, since Netrun has no managed database service.
Pick a plan that matches how the project runs#
On the free Netrun plan a website sleeps without visitors and wakes up in a few seconds, while a bot or background script runs for 3 hours and then stops, keeping its code and secrets. If the project must always be online, such as a bot, an API other services call, or a site with no delay on the first visit, you need the Pro plan. You pay once for a month, three months or a year, with no automatic charges.
If paying with a foreign card is easy for you and you need managed databases or servers in regions around the world, Render and Fly.io are still strong choices. If you need to pay with a Russian card or SBP, want files that do not vanish on restart, and want to launch without git or configuration files, upload your project to Netrun and get an HTTPS link. Free websites sleep here too, but they wake up in seconds rather than a minute. Try Netrun.
Common questions
Why does my Render site take so long to open?
Most likely it went to sleep: a free Render web service spins down after 15 minutes without requests. The next visit starts the service again, which takes about a minute. Services on paid Render plans do not sleep.
Does Fly.io have a free plan?
Not for new organizations. New accounts get a trial of up to 2 hours of machine runtime or 7 days, whichever comes first, and after that a bank card is required. Free allowances remain only on accounts that are still on legacy plans.
Can I host a Telegram bot on free Render?
Not reliably. Background workers on Render are paid, and a free web service sleeps without incoming requests, which a polling bot never receives. A webhook bot will be woken up by messages, but the first message after a sleep is handled with a delay.
Where did my SQLite database on Render go?
On the free Render plan the file system is not kept: anything the app wrote to disk is lost on deploy, restart and spin-down. To keep data you need a paid persistent disk or an external database. On Netrun you put the SQLite file into the /data folder, and it survives code updates.
Does a website on the free Netrun plan sleep?
Yes, it sleeps when nobody visits and wakes up by itself when the link is opened, with the first visit after a sleep taking a few seconds. On the Pro plan the site does not sleep. A bot on the free plan does not sleep, it runs for a limited time and then stops.
Why does my website sometimes sleep?
On the free plan, websites sleep after being idle and wake up in a couple of seconds on the first request. On the Pro plan your project runs without sleeping.
Can I pay with a Russian card or via SBP?
Yes. You can pay for a plan or a place for a project with a Russian card or via SBP, even though prices are shown in dollars. Your card is charged the ruble amount at the current rate — no foreign card and no currency exchange on your side. Besides card and SBP we also accept cryptocurrency.
What happens to my bot after 3 hours on the free plan?
The bot switches off, but your code, settings and secrets stay where they are — we delete nothing. Shortly before it switches off we send you a warning. The three hours only count while the bot is actually running: while it is stopped, still building or crashed with an error, the clock stands still — you can fix the code and start it again without losing time. Switch to the Pro plan, and the bot starts again from the same place and runs around the clock. A new bot uploaded after that is built too, but it will not start: free time is counted per account, not per project.