garrison

garrison

Deploying a Phoenix App with Podman and systemd

Hi all, the time has finally come to bring back the blog :slight_smile:

I recently got sick of building Erlang from source and switched to building and running containers with Podman and systemd, so I thought I’d write a minimal guide on how to deploy that way. The Phoenix guides are pretty focused on PaaS so I hope this can serve as a helpful alternative!

Most Liked

garrison

garrison

Well, technically I think they are somehow compiled into actual systemd units. Podman introduces additional syntax (e.g. [Container] and so on). I have no deep understanding of the mechanism by which this happens, but my experience learning about containers thus far tells me that if I did understand it I would probably be horrified. Maybe ignorance is bliss.

The abstraction does leak a bit, though.

It’s a reference to the megacorporation in Deltron 3030 :slight_smile:

arcanemachine

arcanemachine

Nice post. Very thorough, and covers everything I was expecting.

Totally agree with you on the Quadlet naming convention. They’re just systemd unit files?! I hadn’t touched those, but I thought they were a whole other thing.

How did you come up with the name “corporate.fm” for your website?

Last Post!

Where Next?

Popular in Blog Posts Top

sashaafm
How to use the blogs section You can post links to your blog posts either in one of the Official Blog Posts threads (like this one), or, ...
296 25834 131
New
wmnnd
Hey there, I’ve started a little blog series about building and deploying Elixir applications. Now I would like to share with you the fi...
New
ellispritchard
Somebody was asking about Erlang OS signal handling on Slack; I’ve posted up my learnings: https://medium.com/@ellispritchard/graceful-s...
New
rms.mrcs
https://medium.com/the-realreal-product-tech-blog/monitoring-hackney-connection-pools-with-telemetry-3aaeafa8eeb8 Hi, everyone! In this ...
New
davydog187
Hello all! I wrote a blog post called Elixir Observability: OpenTelemetry, Lightstep, Honeycomb. The post post covers how to integrate ...
New
brainlid
OTP 26 was released and the Elixir 1.14.4 builds have been updated! Erlang OTP 26 changed how map keys are sorted, or not sorted actually...
New
lawik
Building on other people’s work I bashed things together and suddenly I can know when someone is speaking using Elixir and Membrane.
New

Other popular topics Top

Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement