From d7acd252a2bcd94fce1472934063929e822525ae Mon Sep 17 00:00:00 2001 From: Stephen Mather <1174901+smathermather@users.noreply.github.com> Date: Wed, 8 Nov 2023 21:12:28 -0500 Subject: [PATCH 1/2] addhowto on image builds --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 2cd95e0..131300e 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,32 @@ Linux users can connect to 127.0.0.1. If the computer running NodeODM is using an old or 32bit CPU, you need to compile OpenDroneMap from sources and setup NodeODM natively. You cannot use docker. Docker images work with CPUs with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support or higher. Seeing a `Illegal instruction` error while processing images is an indication that your CPU is too old. +### Building docker image + +If you need to test changes as a docker image, you can build easily as follows: + +``` +docker build -t my_nodeodm_image --no-cache . +``` + +### Testing alternative ODM images through NodeODM + +In order to test alternative ODM docker images in NodeODM, you will need to change the dockerfile for NodeODM to point to your ODM image. For example if you built an alternate ODM image as follows: + +``` +docker build -t my_odm_image --no-cache . +``` + +Then you'll modify NodeODM's Dockerfile to point to the new ODM image in the first line: + +``` +FROM my_odm_image +MAINTAINER Piero Toffanin + +EXPOSE 3000 +... +``` + ### Running rootless * A rootless alternative to Docker is using [Apptainer](https://apptainer.org/). In order to run NodeODM together with ClusterODM in rootless environments, for example on HPC, we need a rootless alternative to Docker, and that's where Apptainer comes in to play. From the Linux command line, cd into the NodeODM folder and run the following commands to host a NodeODM instance: From 16149f08bd3b24a4b8f52e17d1b7418ac530d1e4 Mon Sep 17 00:00:00 2001 From: Stephen Mather <1174901+smathermather@users.noreply.github.com> Date: Wed, 8 Nov 2023 21:16:08 -0500 Subject: [PATCH 2/2] show how to run --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 131300e..6b0f6c8 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,13 @@ If you need to test changes as a docker image, you can build easily as follows: docker build -t my_nodeodm_image --no-cache . ``` +Run as follows: + +``` +docker run -p 3000:3000 my_nodeodm_image & +``` + + ### Testing alternative ODM images through NodeODM In order to test alternative ODM docker images in NodeODM, you will need to change the dockerfile for NodeODM to point to your ODM image. For example if you built an alternate ODM image as follows: @@ -46,7 +53,7 @@ In order to test alternative ODM docker images in NodeODM, you will need to chan docker build -t my_odm_image --no-cache . ``` -Then you'll modify NodeODM's Dockerfile to point to the new ODM image in the first line: +Then modify NodeODM's Dockerfile to point to the new ODM image in the first line: ``` FROM my_odm_image @@ -56,6 +63,18 @@ EXPOSE 3000 ... ``` +Then build the NodeODM image: + +``` +docker build -t my_nodeodm_image --no-cache . +``` + +Finally run as follows: + +``` +docker run -p 3000:3000 my_nodeodm_image & +``` + ### Running rootless * A rootless alternative to Docker is using [Apptainer](https://apptainer.org/). In order to run NodeODM together with ClusterODM in rootless environments, for example on HPC, we need a rootless alternative to Docker, and that's where Apptainer comes in to play. From the Linux command line, cd into the NodeODM folder and run the following commands to host a NodeODM instance: