Indeed, just as a programming language is just a set of tools for solving problems, this shouldn’t stop us talking about specific solutions to problems, their upsides and downsides, especially since the constrains around embedded devices are a little different compared to your cloud deployed services.
Domain registrar is not the biggest problem, domain names that are not popular are cheap as dirt these days. I think the biggest problem that I am not entirely sure is 100% solved is being able to fetch a valid certificate from letsencrypt from a phoenix app, if that is possible you should be able to make the used domain name and port configurable on your deployed devices. This might prove for an interesting project to get up and running.
Well we’ve mentioned site_encrypt. Check that library on hex. It does LetsEncrypt in a Phoenix app. I have used it. Works great.
I don’t see anything that is different from a normal phoenix app in this. Anyway, best of luck trying Nerves. And holler on the forum if you run into problems.
I use cloudflare tunnel with Nerves devices. cloudflared is precompiled for many architectures. One device on my network fetches it, runs it as a supervised process, and now all devices configured are routable through the tunnel. It runs on a device that also serves LiveView pages and ~30 devices configured for the tunnel (a mix of computers and small Nerves devices). Haven’t felt the need to have it separated into its own server/device yet and runs great!