Monthly Archives: August 2022

Goodbye Heroku (for now)

Now the day came. Heroku has decided to stop with its free plans for running small web applications and their free redis and postgres plans as well. I don’t blame them for it, but I am of course a little sad that such a convenient deployment option is going away.

I am a rather recent Heroku user, but I use “server less” a lot in my work (where I mostly prefer using the IBM Code Engine. Its good, try it!) but for my hobby projects I recently found Heroku when playing around a bit with Ruby on Rails and its simplicity and price (free) really fits for small experiments. I don’t mind the cold start time being a bit slow, as if I would be serious with any project, I know I can just pay a small sum and I will get more power. But not anymore.

I can’t say that I think its reasonable to pay for all my dynos that I have. Most are just small things that I am playing with from time to time with one or two users. Each would need a dyno and at least one database. It would quickly add up, and also I don’t like that it should be any resistance to starting a new project. Free is nice in that it removes one obstacle to just starting. But I like the concept of Heroku and I want to continue to use the very convenient way with the Heroku buildpacks to publish and run my software.

The replacement

The discussions on Hackernews suggested all sorts of solutions and services to replace Heroku, but I wanted the same kind of service and similar simplicity. Also, I have a cheap virtual machine on Azure that is just sitting there from some project I have long forgotten about.

It’s important for me that this works the same as before. I want to be able to just publish to Heroku again if one of my projects should take off and be worthy of a small investment. But until then it seems it is quite close to trivial to run all my projects using Dokku on my cheap virtual machine.

I found an excellent tutorial on how to set up Dokku and migrate my dynos and I couldn’t imagine it being simpler to move. My virtual machine is now running 3 apps (1 rails and 2 django), with postgres and redis databases (and Sidekiq and RQ) without any issues and I have for the moment closed down my Heroku account as I don’t need it right now. I think this is so simple that I will be moving a couple of more apps from other services I have used in the past to this machine and collect all my projects here. A couple of more Django applications, a Ruby web server that is back end for a game and a Godot game server are all on their way.

I am looking forward to see how to this setup will cope with these different projects. Perhaps I will write something about it in the future. Until then, happy coding, and I hope Herokus changes will make it even better 🙂