DEV Community

David Babalola
David Babalola

Posted on

Free Alternatives to Heroku

Given the recent news about Heroku bringing an end to free dynos and PostgreSQL databases, what other free platforms can I use to host Django (Python) powered web applications for free.

Top comments (77)

Collapse
 
jnv profile image
Jan Vlnas • Edited

Services which come closest to Heroku's convenience with free tiers are Fly and Render. Render seems to offer Postgres on a free plan. Another option is Railway which AFAICT doesn't have a free tier, but basic usage is quite cheap.

Check out this list for more services with free tiers (not just PaaS like Heroku): github.com/ripienaar/free-for-dev

Collapse
 
katafrakt profile image
Paweł Świątkowski • Edited

Bear in mind that free databases on Render are deleted after 90 days. That's not 90 days of inactivity, just 90 days after creation. They say it's a temporary measure and the are going to change it in the future (which I hope for), but for now it's not really a viable alternative for Heroku.

Collapse
 
jnv profile image
Jan Vlnas • Edited

Good point! So it may be better to look at external DBaaS providers. For Postgres/relational databases there's aforementioned CockroachDB, and some others like PlanetScale, ElephantSQL, and YugabyteDB (Managed).

Thread Thread
 
amyliumaiyi profile image
Amy Liu

Supabase is vanilla postgres and very generous free tier

Thread Thread
 
jnv profile image
Jan Vlnas

Thanks for the tip. I didn't consider Supabase for their managed database but I will check it out.

I don't consider Supabase as a Heroku-equivalent replacement, since it supports only short-lived database / edge functions and triggers. Heroku and the likes can run a “traditional”, persistent application server.

Collapse
 
kissu profile image
Konstantin BIFERT

Damn, thanks for the tip! 👌🏻

Collapse
 
tnypxl profile image
tnypxl

AFAICT = As far as I can tell

Because it took me longer that it should have to figure that out.

Collapse
 
amanuelabay profile image
Amanuel

good tips

Collapse
 
steve_val profile image
Steve_Val • Edited

can confirm Supabase is incredible.

  • Open Source
  • Huge and helpful community
  • Incredible support team

It ticks all the boxes

There is also a python client library for use with Django (or you can connect to it the same way you would any other PostgreSQL db since it's just vanilla pg under the hood)

Collapse
 
daveson217 profile image
David Babalola

Thank you for letting me know this.

Collapse
 
sokhavuth profile image
Sokhavuth TIN • Edited

You could try Vercel.com. It supports Node.js, Python, Go, Ruby. And you can add your own preferred language if you want. It is very similar to Heroku. You could follow the link below to setup and deploy Django to Vercel.
devmaesters.com/blog/15

Collapse
 
jiachengteo profile image
Teo Jia Cheng

Vercel is very solid

Collapse
 
willnode profile image
Wildan Mubarok • Edited

I've been working on my own cloud platform since 2 years ago because none cloud services (even heroku) is good enough to me. It has a free option (1GB storage) for everybody and it support Django and/or other languages.

Collapse
 
pahosler profile image
pahosler

signed up, but there is an error setting up ssl

There were too many requests of a given type :: Error creating new order :: too many certificates already issued for: domcloud.io: see https://letsencrypt.org/docs/rate-limits/
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.
Enter fullscreen mode Exit fullscreen mode

also can you update rust or allow access to rustup?

thanks

Collapse
 
willnode profile image
Wildan Mubarok

That SSL error means the static files path aren't adjusted properly in NginX. I should write docs for that. Fire up an email if you need help to solve that.

Rust can be installed with SSH/without sudo: webinstall.dev/rustlang/

Thread Thread
 
pahosler profile image
pahosler

ah ok, thanks!

Thread Thread
 
pahosler profile image
pahosler

and nope, had already tried that, but rust is already installed, and rustup isn't available.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
zernonia profile image
Zernonia

Agree! Supabase is 🔥

Collapse
 
monicakh profile image
Monica El Khoury • Edited

Supabase is indeed a fantastic choice! It provides a simple interface for working with Postgres database, and the free tier makes it an accessible option for developers of all skill levels ⚡️

Collapse
 
awalias profile image
awalias • Edited

Supabase ftw

Collapse
 
mildtomato profile image
Jonathan Summers-Muir

⚡️⚡️⚡️

Collapse
 
daveson217 profile image
David Babalola • Edited

Sounds interesting. I would look into it. Thanks a lot.

Collapse
 
sokhavuth profile image
Sokhavuth TIN • Edited

By browsing this GitHub repository github.com/ripienaar/free-for-dev, I found out that this web hosting Deta offers free hosting service and unlimited applications & database. However, at the present time, it supports only Node.js and Python with micro-frameworks such as Express, Bottle.py, Flask, FastAPI etc. I did not try it yet. It is people from Germany who are building this Deta platform.

Collapse
 
jnv profile image
Jan Vlnas

Deta is nice, but you need to specifically design your app around their platform, like their serverless containers (Micros) and NoSQL database (Base). So Django and Postgres from the original question are nonstarters.

Collapse
 
sokhavuth profile image
Sokhavuth TIN • Edited

I just want to give some clue for people who want a free alternative to Heroku, not just to host Django and Postgres.

Talking about Deta Micros, it just two lines of code, that is it.

# to create a project locally and on Deta platform
deta new --python myproject

# to deploy the updated project to Deta
deta deploy
Enter fullscreen mode Exit fullscreen mode

The rest is the regular Python language and framework.

For Deta NoSQL database, there are only 6 methods to interact with the database.

put – Stores an item in the database. It will update an item if the key already exists.
insert – Stores an item in the database but raises an error if the key already exists. (2x slower than put).
get – Retrieves an item from the database by its key.
fetch – Retrieves multiple items from the database based on the provided (optional) filters.
delete – Deletes an item from the database.
update – Updates an item in the database.

Data entry in Deta Base is JavaScript object called "document" like in many other NoSQL databases.

Collapse
 
kostjapalovic profile image
Kostja Appliku.com

Hey, David.

Specifically for Django, check out appliku.com/.

Builds are super fast for Django.
PostgreSQL, Redis.

A whole year of free hosting with AWS Free tier. As far as I know, GCP also offers a free tier.

It works with any cloud provider, so you can pick Hetzner later and save an insane amount of money compared to AWS, DO, and others.

I started working on Appliku 3 years ago and posted the story here dev.to/kostjapalovic/tired-of-depl....

Collapse
 
daveson217 profile image
David Babalola

Thank you. I would look into it.

Collapse
 
jmfayard profile image
Jean-Michel (jmfayard.dev)

The question that you should not overlook:

Will the currently free alternatives to Heroku will stay free?

I think the problem is the business model free and "Pedos, Crypto and Nazis"

Heroku is removing the free tier

That sucks especially for students who owed heroku to have a simple way to show their work to the world

Where can I find free heroku alternatives?

I understand the rush to ask this question, but this ignores the structural issue which is the dark side of the internet:

Pedos, Crypto and Nazis

Every free tier offering, every free CI service, every free cloud service, every free storage situation, ... is being targeted by people highly motivated to let the free tier offering do their super illegal things, super morally répréhensible things and super wasteful "proof of work" "get rich quick" bitcoin shit.

So your alternative which is free today might well take the same decision tomorrow.

The other important question is "how do people offering free stuff make money in the long run?".

There is no way around this question and it's especially difficult if you also have to waste a lot of resources fighting pedos, crypto and Nazis.

Collapse
 
agonzales profile image
Alexandre Gonzales

You have a real point here. Fighting illegal content is a problem.
At Qoddi we solved it by a strict scoring using anti-fraud API + by requesting a credit card on file to use our free tier along with automated and human moderation.
It's not perfect but we think free tier are very important for two types of people:
1/ future paying users that want to try Qoddi before using paid ressources,
2/ Students and people that wants to learn code and don't want to pay for non-production apps.

I think being able to provide a free tier for those two types of users is very important.

It costs money sure, but we provide ressources that are in line with those two usages: limited amount of RAM, shared CPU and no custom domains. If you need more you probably have a production app and our first size costs only $6 a month.

Offering a free tier is cheaper than spending a lot on Google Adwords for users that will not be able to test our service before moving prodution ressources to us, in my opinion it's worth it and we don't have any plan to suspend or remove our free plan in the future.

Alex.

Collapse
 
lukeecart profile image
Luke Cartwright

You could use Netlify which will create a static site?

answers.netlify.com/t/can-i-deploy...

Collapse
 
ironcladdev profile image
Conner Ow

If you're looking to host python apps quick and easy, I'd suggest replit.com for that. If you would like a more secure and powerful environment in terms of uptime, I'd suggest qovery.com for putting your app on AWS and hosting it in the cloud

Collapse
 
supabase_io profile image
Supabase

Thanks for the shout-out @allobrox !

For those asking - yes Supabase is just Postgres, and you can connect directly using the pg connection string, so it works perfectly with all of your existing postgres tools and ORMs

Collapse
 
karbust profile image
António Carlos Silva

For a database, Supabase is a great alternative with a generous free tier, it has a 7 day suspension in case of inactivity (the project can be re-enabled manually in their dashboard). For other backend services I don't really know anything.