Post

I love @fly.io and want them to succeed, but their continued unreliability forces me to consider alternative hosting solutions. I’m looking into Kamal and Digital Ocean. Any other recommendations?

1 repost45 likes

I've been using Hetzner + Ansible for a few years now. More recently I set up a GH action to simplify deploying new apps. I pretty much just need to add a deploy workflow.

I've moved fly->dokku->Kamal for my simple Phoenix app deployments and I prefer it. I had some issues building on arm for amd but solved with an extra build flags. I find secret management quite cumbersome. It would be neater with direct image push instead of container registry but different goals.

In case you face another problem: I couldn't push images using the Dockerised version of Kamal, as it doesn't seem to get passed in the registry token on Mac. I use locally (from brew) and it's all-ok now.

It’s a raw VM service, so SSH & Shell, or you can use some DIY PaaS like Dokku or smt similar. I’d use some Docker setup, but it really depends on what you’re deploying

I'm currently on Hetzner and it has been fine price/quality-wise. For dockerless deploys ExDeploy might be interesting. I also like the ability to use observer without much hassle in dockerless setups.

Kamal + Hetzner works amazingly well for us Migrated over from AWS a few weeks ago and posted some deets here: bsky.app/profile/navi...

Navin Peiris@navinpeiris.com

Last week I posted that we were migrating over to Hetzner from AWS How did that go? Amazing well #buildinpublic 🥳 We halved our costs while upgrading all servers to 3-4x their prev sizes We had resp time spikes that weren't sitting well with B2B customers during US stock market open hours, now:

I had to switch away recently for reliability issues too. I actually run stuff on local hardware now because it’s mostly hobby projects and I find it fun. For anything important, Docker and Hetzner would probably be my choice. Deploying is just a git/docker pull and restart.

Do you want to run with containers or without? How comfortable are you with server management? I use digital ocean VPS to host most things without containers and that's been mostly great. But I'm looking at moving to a more containerized setup.

In my dream world, deploying an app takes 0% effort and would cost nothing, but that's not possible of course, so Heroku/Fly/Render are my next best option. However, I also think that an engineer should know the basics of how to deploy an app, so that's why I'm teaching myself Kamal by Fire :D

Sorry, regarding your questions: I'd like to see a docker-less setup for once, because everything seems to be docker-based and for Elixir, it "should" be enough to copy a release to a machine and replace the old release. Personally, I'll probably still use Docker but it'd be nice to see.

I know you are already down the Kemal path rn but I just noticed a new book that covers deployment on AWS pretty thoroughly: pragprog.com/titles/beamo... The stack: * Terraform * Docker,Docker Compose, and Docker Swarm * GitHub Actions and ghcr.io * AWS and EC2 * Packer * SOPS * Grafana

pragprog.comEngineering Elixir ApplicationsDevelop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each software delivery step.

I have a more involved setup for prod, but I have a simple bash script that works great when I just want to deploy elixir releases on a VPS. It does build on the actual machine, but that makes it nicely portable. I'll see if I have a moment to dig it up today.