Ae-image-builder / node and plugins

Hi,

as the new middleware (indaex) is getting more mature I decided to publish a github action that builds a docker image for the aeternity node including indaex as plugin:

The github action will build and push the image with the version of node and indaex defined in the Dockerfile when a new push to the main branch occurs. I will always provide a new docker image if a new version of node or indaex is released. You can find the image here:

As I am not familiar with the build process of Erlang and Elixir applications I am not sure what’s the best way to build this. I used the original Dockerfile of indaex (https://github.com/aeternity/ae_mdw/blob/master/Dockerfile) as template but I am not really satisfied with it.

Does ae_plugin (https://github.com/aeternity/ae_plugin) currently require a specific folder structure?

Maybe someone can explain a bit deeper how to build and run the node including one or multiple plugins for production use. I want to provide a smaller image and run the container as non-root user, too. When I compare the “official” node image (~90mb) vs the image I built (~554mb) this can also be optimized a lot.

Maybe someone of the team can advise me how to build a production release for node + plugins. @uwigeroferlang.chain @karol.chain @dincho.chain

I am also planning to provide helm-charts and instructions how to deploy the node in a kubernetes environment using a DB backup to minimize the sync time.

@karol.chain btw -> I think you forgot to bump the version to 1.0.1 in the latest release of the middleware plugin

I see. I’ll make a new release 1.0.2 with latest improvements in a day or two.

1 Like