Update: Fail To Deploy WebODM on Rahti (PaaS) Kubernetes and OpenShift OKD

Hi all,

Since my last post, I have been looking at the docker and kubernetes and trying to rebuild a new non-root WebODM image but have not been successful.

In summary, I have been using some of the commands below to add to the dockerfile provided in the webodm master folder in order to build a new image.

e.g.

  1. RUN chown .root -R /webodm && chmod g+rwx -R /webodm
  2. RUN chgrp -R 0 /webodm &&
    chmod -R g=u /webodm
  3. Create an arbitrary user ? e.g USER 1001. If yes, how? Since OpenShift assigns random UID GID?

I am hoping that some one could provide an example guide on how to implement this in the docker file to make it work?

Also, maybe some one has an idea on how this can be implemented in the docker-compose file and do a multi-stage build ?

Note: I have no issues running webodm on a Linux virtual machine nor on local pc.

Btw here is the link to the first post I made regarding this issue.

Thanks for all you help.

1 Like

Hi all,
Just wondering if anyone has had time to have a look at this post and have some solution for me.

Thanks.

It’s a pretty specific environment, unless there’s another person on this forum that has used your exact same technology stack, it’s unlikely somebody will know the answer. I wonder if you might have more luck reaching out to the OpenShift community for this one.

Thanks Piero for your response.

The main reason why WebODM is not working on this platform is because all the images are running as root.

The WebODM images/containers by default are running as root. But if the WebODM images are re-built as non-root, then they will run successfully on this platform. I am finding it difficult to convert the WebODM images to run as non-root user.

Do you or any one here has any idea, tip, or suggestions how I can convert the WebODM images and run containers as non-root user (i.e. running the container as an arbitrary user that belongs to the root group)?

Ah, it should be possible. Unfortunately I’m not sure exactly what steps you’d need to take to do it. Definitely consider opening a pull request if you find out how? It might be useful to others. :pray:

1 Like

Thanks. Hopefully a solution comes along and all gets to work.