From 3ce397c5b832cee6304b493af6040408baca8ef4 Mon Sep 17 00:00:00 2001 From: Branton Davis Date: Thu, 7 Oct 2021 15:28:34 -0500 Subject: [PATCH 1/3] Add run script that sets the render group and runs as user odm. --- Dockerfile.gpu.intel | 3 +-- Dockerfile.gpu.intel.local | 14 -------------- run_gpu_intel.sh | 8 ++++++++ 3 files changed, 9 insertions(+), 16 deletions(-) delete mode 100644 Dockerfile.gpu.intel.local create mode 100755 run_gpu_intel.sh diff --git a/Dockerfile.gpu.intel b/Dockerfile.gpu.intel index 44f4b53..61b78fd 100644 --- a/Dockerfile.gpu.intel +++ b/Dockerfile.gpu.intel @@ -29,6 +29,5 @@ RUN usermod -aG video,users odm RUN usermod -aG video,users,odm root WORKDIR /var/www -USER odm -ENTRYPOINT ["/usr/bin/node", "/var/www/index.js"] +ENTRYPOINT ["/var/www/run_gpu_intel.sh"] diff --git a/Dockerfile.gpu.intel.local b/Dockerfile.gpu.intel.local deleted file mode 100644 index a4c27c5..0000000 --- a/Dockerfile.gpu.intel.local +++ /dev/null @@ -1,14 +0,0 @@ -FROM opendronemap/nodeodm:gpu.intel - -EXPOSE 3000 - -ARG RENDER_GROUP_ID=0 - -USER root - -RUN if [ "${RENDER_GROUP_ID}" -ne 0 ]; then groupadd -g "${RENDER_GROUP_ID}" render; usermod -aG render odm; fi - -WORKDIR /var/www -USER odm - -ENTRYPOINT ["/usr/bin/node", "/var/www/index.js"] diff --git a/run_gpu_intel.sh b/run_gpu_intel.sh new file mode 100755 index 0000000..2922a20 --- /dev/null +++ b/run_gpu_intel.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +if [ "${RENDER_GROUP_ID}" -ne 0 ]; then + groupadd -g "${RENDER_GROUP_ID}" render + usermod -aG render odm +fi + +su - odm -c "/usr/bin/node /var/www/index.js $@" From a14d8564b1ceb12708b016c87c63cdf5580d4808 Mon Sep 17 00:00:00 2001 From: Branton Davis Date: Thu, 7 Oct 2021 21:58:07 -0500 Subject: [PATCH 2/3] Update run script to include environment. --- run_gpu_intel.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/run_gpu_intel.sh b/run_gpu_intel.sh index 2922a20..7655587 100755 --- a/run_gpu_intel.sh +++ b/run_gpu_intel.sh @@ -1,8 +1,15 @@ #!/usr/bin/env bash -if [ "${RENDER_GROUP_ID}" -ne 0 ]; then - groupadd -g "${RENDER_GROUP_ID}" render - usermod -aG render odm +if [ ! -z "${RENDER_GROUP_ID}" ]; then + if [ "${RENDER_GROUP_ID}" -ne 0 ]; then + groupadd -g "${RENDER_GROUP_ID}" render + usermod -aG render odm + fi fi -su - odm -c "/usr/bin/node /var/www/index.js $@" +while IFS='=' read -r name value ; do + echo "export ${name}=\"${value}\"" >> /home/odm/env +done < <(env) +chown odm:odm /home/odm/env + +su - odm -c "source /home/odm/env; cd /var/www; echo $WO_DEFAULT_NODES; /usr/bin/node /var/www/index.js $@" From 1a1769d048b8a2ba6caf4b690693b51ca637f36e Mon Sep 17 00:00:00 2001 From: Branton Davis Date: Thu, 7 Oct 2021 22:16:36 -0500 Subject: [PATCH 3/3] Exclude the HOME env variable. --- run_gpu_intel.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run_gpu_intel.sh b/run_gpu_intel.sh index 7655587..9a2552c 100755 --- a/run_gpu_intel.sh +++ b/run_gpu_intel.sh @@ -9,7 +9,7 @@ fi while IFS='=' read -r name value ; do echo "export ${name}=\"${value}\"" >> /home/odm/env -done < <(env) +done < <(env | grep -v "HOME") chown odm:odm /home/odm/env su - odm -c "source /home/odm/env; cd /var/www; echo $WO_DEFAULT_NODES; /usr/bin/node /var/www/index.js $@"