maz

maz

Is anyone aware of a Phoenix 1.4.0 Docker image?

First 10 of 10 Posts Switch mode

NobbZ

NobbZ

What for?

Just use any elixir enabled dockerfile and build the release on that, move the release to any erlang enabled image after that and run them there (or if you included ERTS you could try to go even FROM scratch or other minimal containers without erlang preinstalled).

If though you want to simply run mixh phx.server, you still can use any elixir enabled image. There is no need for a special phoenix 1.4 image.

Of course you might need to provide additional dependencies like node on the build stage etc.

maz

maz OP

Of course yes, I had a problem before because dev machine was using 1.4@headrev when 1.3.x was the current release. When I built the Docker image, it used 1.3.x and failed. I shouldn’t have that problem anymore because the versions will be the same.

NobbZ

NobbZ

Then you probably had not properly constrained your requirements in your mix.exs.

beardedeagle

beardedeagle

I don’t install phoenix for you, but I make it pretty damn easy. I keep it pretty up to date if you are into that kind of thing, and have some updates to push this week.

https://github.com/beardedeagle/alpine-phoenix-builder

maz

maz OP

It wasn’t a compile-time error, but a runtime error, so no, I don’t think so.
edit –
here is the link:

NobbZ

NobbZ

As I said, I’m not a friend of those images.

Just start with a bare elixir or node image and install the other, do not pull in under any circumstances phx_gen into that image.

Don’t install any archive in that image besides hex and rebar via their corresponding local commands.

maz

maz OP

Sure, you have a decent point there. Thanks.

b33rduck

b33rduck

Nice, thx for sharing this!

augnustin

augnustin

You ask the question and then you detail all the extra steps. That’s exactly what the official image would be for: not to have to worry about those steps!

When I look at my Dockerfile, I don’t think this comes out-of-the-box:

FROM elixir:1.8.2

# Install node
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update
RUN apt-get install -y nodejs
RUN apt-get install -y --no-install-recommends yarn

RUN mix local.hex --force
RUN mix local.rebar --force

My comments:

  • I don’t know what mix local.hex and local.rebar are for, but apparently I need it.
  • I have to maintain this installation, especially the node version, which will move in the future
  • Would be simpler if node + yarn would come pre-installed

For all those reasons, I’d be in favor of having a official phoenix docker image.

NobbZ

NobbZ

They install hex and rebar in a way that they can be used by `mix to fetch dependencies/compile rebar projects.

You do not need node, as JavaScript should already be precompiled in the build step.

This is exactly what @beardedeagle s images are for.


Just to cite his announcement from the slack:

— All posts loaded —

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
rahultumpala
Hello, I have an Elixir backend that implements a custom protocol over TCP. I want to load test the backend and assess the performance o...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New

We're in Beta

About us Mission Statement