WebODM icon indicating copy to clipboard operation
WebODM copied to clipboard

Support docker swarm/kubernetes deployments

Open bubthegreat opened this issue 5 years ago • 14 comments

How did you install WebODM? (Docker, natively, ...)?

Git clone, and docker-compose up -d - that works fine

What's your browser and operating system? (Copy/paste the output of https://www.whatismybrowser.com/)

Not a browser or platform issue

What is the problem?

Would like ODM to be deployable to a swarm stack

What should be the expected behavior?

single command to deploy a scalable stack via docker stack deploy, i.e.: docker stack deploy -c docker-compose.yml webodm

How can we reproduce this? (What steps did you do to trigger the problem? What parameters are you using for processing? If possible please include a copy of your dataset uploaded on Google Drive or Dropbox. Be detailed)

Try to deploy via docker stack deploy and it'll fail, because it's not designed for a stack deployment. Stack deployment would preferably be in a later compose version (3.x+ rather than early 2.x - there are a lot of improvements since then)

bubthegreat avatar Jul 03 '19 23:07 bubthegreat

Hey @bubthegreat, that would be a cool addition! Would you have an interest in contributing to it?

pierotofy avatar Jul 04 '19 12:07 pierotofy

Absolutely! I'll pull the repo and see what I need to do to get it to work. Will post questions here unless theres a better place for it.

On Thu, Jul 4, 2019, 5:45 AM Piero Toffanin [email protected] wrote:

Hey @bubthegreat https://github.com/bubthegreat, that would be a cool addition! Would you have an interest in contributing to it?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenDroneMap/WebODM/issues/692?email_source=notifications&email_token=AC5CHIN4ZHX5W7L5CWXE4YLP5XWH3A5CNFSM4H5NN57KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZHKGJQ#issuecomment-508470054, or mute the thread https://github.com/notifications/unsubscribe-auth/AC5CHINIJFSS6SS46HN7PJTP5XWH3ANCNFSM4H5NN57A .

bubthegreat avatar Jul 04 '19 14:07 bubthegreat

That's fantastic! :+1: This thread is fine for questions.

pierotofy avatar Jul 04 '19 15:07 pierotofy

Allright - initial questions:

  1. Is there an entrypoint for dynamic addition of nodeodm nodes, or is that currently done manually? It looks like we're statically defining the hostname for the initial (node-odm-1) in the start script - this might make it challenging to scale workers if they don't have an automated way of joining a cluster. Is there a join key that we create somewhere that we can define and share across all of them so we can dynamically add a new node if we scale them, or is this just done manually right now?
  2. Any reasons we're defining the entrypoint in the compose file that I should be aware of, or is that something we can move to the image and let folks override the "start"

bubthegreat avatar Jul 05 '19 04:07 bubthegreat

  1. It's currently done via docker-compose (1 node max, no possibility to add more).
  2. Assuming you are referring to the webodm_webapp image, we use an entrypoint in docker-compose because we spawn two containers, one is the actual webapp, the other is a background worker. There's probably other ways to set that up (have two separate images with different entrypoints?) I'm guessing.

pierotofy avatar Jul 10 '19 18:07 pierotofy

Looks like I'm going to have a baby instead and probably won't be able to get to this for a while, but if nobody else picks it up I'll jump back on it as my time frees up.

On Wed, Jul 10, 2019 at 12:05 PM Piero Toffanin [email protected] wrote:

  1. It's currently done via docker-compose (1 node max, no possibility to add more).
  2. Assuming you are referring to the webodm_webapp image, we use an entrypoint in docker-compose because we spawn two containers, one is the actual webapp, the other is a background worker. There's probably other ways to set that up (have two separate images with different entrypoints?) I'm guessing.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenDroneMap/WebODM/issues/692?email_source=notifications&email_token=AC5CHIKZHDP5QQV6B5KV5JDP6YQGVA5CNFSM4H5NN57KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZUIXQY#issuecomment-510168003, or mute the thread https://github.com/notifications/unsubscribe-auth/AC5CHIPXIMXMAQBH75KUJGTP6YQGVANCNFSM4H5NN57A .

-- Mike Taylor [email protected] (801)913-9767

bubthegreat avatar Jul 15 '19 20:07 bubthegreat

Congrats! I can understand the shift in priorities :smile: I'll leave this open for future development.

pierotofy avatar Jul 15 '19 20:07 pierotofy

Hello,

I will start tackling this issue and keep you updated guys.

Thanks, Ahmed Hefnawi

hefnawi avatar Oct 19 '19 20:10 hefnawi

Still working my way slowly through webODM and in parallel working on the docker stack yaml file, however, I will just ask questions here if you don't mind whenever I get stuck =)

hefnawi avatar Nov 03 '19 23:11 hefnawi

Of course @hefnawi , thanks for the update! :+1: Let us know if you have questions.

pierotofy avatar Nov 04 '19 02:11 pierotofy

@hefnawi i also tried to deploy it to a stack, and now that i found this thread i was wondering if you had success with Docker 3x Swarm deploay. Greetings

Ghost7K avatar May 25 '20 08:05 Ghost7K

Current setup does not lend it self to swarm deployment, no - the dockerfiles would need to be rewritten for swarm/kubernetes configs.

bubthegreat avatar May 27 '20 14:05 bubthegreat

I'm interested in deploying to Kubernetes and can help out translating files if needed -- has any work been started on this already?

antonyharfield avatar Jun 07 '20 05:06 antonyharfield

Working ok for us in kubernetes: https://gitlab.nautilus.optiputer.net/prp/webodm I found that there's a horizontally scalable version now. But still no support for kubernetes

dimm0 avatar Nov 12 '20 17:11 dimm0

I'm going to close this; if anyone wants to contribute a PR for this, it would be most welcome. :pray:

pierotofy avatar Jan 28 '23 16:01 pierotofy