OpenEMS UI build for ARM 32

Hi All,

i rebuild the UI docker container for edge use because we needed ARM32 support & remote access.

I need some info on whether to push this as contribution. @stefan.feilmeier, hope you can help me with that.

the new build changes the following:

  • moved to alpine:3 base images (smaller). no more s6 overlays, but chown-at-build. ARM32 now supported
  • NGINX reverse proxy setup to support remote access to the UI. No need for the backend setup to view a remote UI now when the right environment vars are enabled.

because these changes are quite extensive i don’t want to just push then.

where can i post this (the dockerfile & reverse proxy setup) for a pre-review as i dont think just pushing this as PR is too much.

Rgds

Thanks! I am not a Docker expert - @da-Kai what do you think? I’d say it’s definitely worth a look. :slight_smile:

Hi @omedirk,

ARM32 support would definitely be useful, especially for edge deployments. I have already played with the idea.

i would not completely remove the s6 overlay builds as they make debugging way easier, as they can keep the container alive when the services crashes.

Maybe it could make sense to keep the current images for the default builds and offer your Alpine-based variant as a separate ā€œ-slimā€ image.

In any case, I am curious to see what you built. It might actually be easiest if you open a PR on GitHub so we can review the changes and discuss them there.

Best regards,
Kai

1 Like

happy to do so.

i reworked it a bit and choose for a commit with a dockerfile.alpine so that the original structure is untouched.
after your review we can decide what way to go (i imagine we want a single setup, not 2 options) but for the PR you can at least see the difference.

having this in the main repo would be ideal.

ps. we did a similar thing for the edge container running on arm32. happy to share that too

as you will see we run from azure, the variables are injected on IOTedge deployment.

we are in the process of figuring out whether OpenEMS can function as a replacement for our own EMS. but that means not only ā€˜functioning as an EMS’ but also be deployable and maintainable as an EMS..

ah. i don’t have rights to push .. how to get those?

Hi @omedirk,
You don’t need push rights for that. Just fork the OpenEMS repo, create a branch on your fork, and open a PR from there. That’s the standard workflow and should work fine for sharing your Dockerfile changes.