Hi, I was looking for a pointer of how I could most easily start with phoenix regarding deploying it to something like linode or google cloud.
Its a side project which would use some websockets and liveview but I have no experience with docker or kubernetes, was just looking for a quite straightforward way of deploying an elixir application.
So just something where I do not have too much things to do, no CI is required or test runners, just copy to my server and start it
The sample app uses web sockets to support liveview pages.
If you don’t need a database, render.com is about $7/month. It’s a little more complex and a few more $/s a month if you need a database or file storage, but still pretty easy and the guides are really good - I have another database-backed app deployed there.
Been there done that (recently). My two cents:
Go with mix releases and just follow the Phoenix docs (it doesn’t get easier than that).
My experience was that the number of available blog posts and tutorials online made me a little bit confused about what was the “recommended way” to deploy whether the reality of how to do it is way simpler
After you feel comfortable with the basics steps I’ll advise looking into docker or configuring a deployment pipeline.
I started by just installing all my dependencies on a 5$ linode and got everything working!
Only thing was that when I apt-get install esl-erlang it installed a whole bunch of other packages like xserver etc which was a bit strange to me?
If you want something easy and simple then I think you’d definitely want to look at http://heroku.com/ or gigalixir (as previously mentioned). They both have free tiers which is great for a side project.
I think you’d want to stay away from docker and kubernetes if you’re just getting started.
I found this tutorial for deploying phoenix with dokku to be incredibly helpful. One of the downsides with dokku is that it doesn’t do hot code updating, but for a simple project, that’s not a deep concern.